如何将 master 分支历史重写到其他 Repository master 分支

How to rewrite the master branch history to other Repository master branch

是否有任何方法或任何工具或命令可以从某些提交编号[=26]重写master或某些A分支的历史=]NEW REPOSITORY 的新创建 master 分支,其中 master 分支有 0 次提交或没有历史记录。

以这样的方式:

  1. 提交编号“45678”之前的所有先前提交都应在新的存储库主分支中重新编写为单个提交
  2. 重写历史应该从提交“45678”开始

谢谢

(我没有合适的牺牲存储库来测试这个:你已经被警告过)。

我认为 merge --squash 可以做到这一点。

  • 将新存储库添加为远程
  • 创建目标分支,将带有上游跟踪的分支推送到新仓库
  • 检查新分支
  • Merge --squash 来自您的源代码分支
  • 提交
  • 推送到新存储库

(另见 this answer。)

旧内容(问题编辑前)

只需在原始存储库的克隆上创建新存储库作为新的远程;然后推送到新的存储库。

git remote add newrep url-to-new-repository
git push -u newrep master

对要推送的每个分支重复上一条命令。