重新建立较旧的提交

时间:2020-03-17 08:33:11

标签: git

我有3次提交:

* d868098 Three
* 865eb70 Two
* 6dd085d One

我想直接将“三个”移动到“一个”上:

* 865eb70 Two
|
| * d868098 Three
|/
* 6dd085d One

但是,我正在尝试的任何方法都没有起作用。例如,git rebase --onto 6dd0 865e d868只是后退HEAD而不会重新设置任何基准。我如何使用rebase来做到这一点?


更新:好的,git rebase --onto 6dd0 865e d868 确实有效。之前这对我不起作用,因为我在只有空提交的测试存储库上尝试了此操作。一旦创建了有意义的提交,一切就会按预期进行。将来我会避免空提交进行测试!

1 个答案:

答案 0 :(得分:1)

为此,您至少需要2个分支。

我假设您位于master的{​​{1}}分支上。

  1. * d868098 Three(从git reset --hard 865eb70中删除* d868098 Three
  2. master(创建并移至新分支)
  3. git checkout -b three_brach
  4. git checkout 6dd085d(将git cherry-pick d868098选择到* d868098 Three分支)

现在树在下面

three_branch