【问题标题】:How to amend last 2nd commit or specific commit only如何仅修改最后的第二次提交或特定提交
【发布时间】:2021-04-27 06:59:37
【问题描述】:

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

mainlineBranch:
 commit 2 - recent commit
 commit 1

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

【问题讨论】:

标签: git


【解决方案1】:

git rebase --interactive 帮助你。

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

pick  aaaaaaa
pick  bbbbbbb
pick  ccccccc

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

【讨论】:

    猜你喜欢
    • 2012-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-17
    • 2019-04-19
    • 2018-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多