代码之家  ›  专栏  ›  技术社区  ›  Robert Speicher

修改不是上一次提交的提交[副本]

git
  •  128
  • Robert Speicher  · 技术社区  · 14 年前

    这个问题已经有了答案:

    我经常会有这样的工作流程:

    1. 提交对一组文件的更改
    2. 将更改提交到其他文件组
    3. 意识到我错过了属于第一次提交的一些更改
    4. 诅咒

    我不能利用 git commit --amend 因为这不是我最近需要改变的承诺。向第一次提交添加更改的最佳方法是什么 不碰第二个?

    1 回复  |  直到 10 年前
        1
  •  171
  •   user3351225 Daenyth    10 年前

    你可以使用 git rebase 解决这个问题。跑 git rebase -i sha1~1 其中sha1是要更改的提交哈希。找到要更改的提交,并将“pick”替换为“edit”,如Rebase编辑器的注释中所述。当您从那里继续时,您可以编辑该提交。

    请注意,这将改变该提交的sha1以及所有子级——换句话说,这将从此改写历史。这样做可以打破存储库,但如果你没有推动,就没什么大不了的了。