繁体   English   中英

如何仅修改最后的第二次提交或特定提交

[英]How to amend last 2nd commit or specific commit only

在我当前的分支中,我有 2 个尚未推送的提交。

mainlineBranch:
 commit 2 - recent commit
 commit 1

我的代码更改很少,只想修改提交 1 而不会删除提交 2。有人可以帮我吗?

git rebase --interactive可以帮助你。

首先,存储您未提交的更改以供以后使用( git stash )。 您的工作目录现在应该是干净的。 运行git rebase -i HEAD~3你的编辑器会弹出如下内容:

pick  aaaaaaa
pick  bbbbbbb
pick  ccccccc

在上面的例子中, bbbbbbb应该是你的“commit 1”,而ccccccc应该是你的“commit 2”。 将选择更改为pickedit bbbbbbb退出编辑器。 然后你可以git stash pop到工作树上,现在应该在提交 1 处。 使用git commit --amend修改提交 1 并使用git rebase --confinue继续 rebase。 假设已处理冲突,您现在应该使用修改过的提交 1' 和相同的提交 2' 登陆一个新的 HEAD。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM