将分支和分支特定的提交历史记录移动到新的存储库

时间:2013-11-05 21:55:41

标签: git github

我有一个repo我分叉了。我已经在一个新的'develop'分支中进行了一些变化,并希望在我的fork之前压缩提交,并且只保留fork的提交历史记录。

我知道git rebase -i应该这样做,但不完全确定如何。

1 个答案:

答案 0 :(得分:1)

你可以:

  • 克隆你的回购
  • 结帐正确的SHA1'S'(就在您自己修改之前)
  • 删除.git文件夹
  • git init, git add, git commit:在您修改之前只有一次提交代表您的回购状态的新回购。
  • 将您的原始仓库添加为远程

然后,您可以在一次提交之前cherry-pick进行自己的修改:

git cherry-pick S origin/master

这需要:

x--x--x--y--y--y (origin/master)
     (S)

z--z--z          (master)

并且会产生:

x--x--x--y--y--y      (origin/master)
     (S)

z--z--z--y'--y'--y'   (master)