1

我有一个我分叉的回购。从那以后,我在一个新的“开发”分支中进行了一些更改,并希望从我的 fork 之前压缩提交,并只保留我的 fork 上的提交历史记录。

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

4

1 回答 1

1

你可以:

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

然后你可以在那个提交之上挑选你自己的修改:

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)
于 2013-11-06T07:46:10.463 回答