如何"撤消"重新提交承诺

时间:2017-09-18 16:52:00

标签: git

TL; DR:

我做了一系列提交,包括中间的合并提交;现在我想编辑合并之前的提交文本,但是保留已提交的代码和提交图。

长篇故事:

我想重命名我在本地执行的提交,因此我使用git rebase -i

我在要重命名的提交上使用r,在我想要的#{1}}上使用p保留"。 问题是我想要的提交"保留"是某人的其他提交(在尝试重命名提交消息之前,我之前做过从主分支到我的分支的合并)。

所以基本上我有这样的事情:

aaaa My Commit
bbbb My commit
cccc Someone's else commit
dddd My commit

我做的是我跑git rebase -i并做了这个:

r aaaa My Commit 1
r bbbb My Commit 2
p cccc Somene's else commit
r dddd My Commit 3

现在我认为它发生了,那些不属于我的提交被重写了,现在它们看起来像是新的提交,它们似乎与主分支上的ID不同。因此,在main分支上,第4次提交没有cccc id:

xxxx Somene's else commit

所以我的问题是:

  1. 我的理解是否正确?那些新的提交现在?或许我完全误解了它。
  2. 我是否在修改提交消息时出错了?这样做的正确方法是什么?
  3. 现在怎么样?我该如何解决这个烂摊子?
  4. 我可以自己搜索如何尝试撤消此操作,但我想了解发生了什么。

0 个答案:

没有答案