首页 > 技术文章 > Git 修改历史提交

qianggezhishen 2016-01-07 22:48 原文

github流程图
参见github流程图,我们公司内部则采用gitlab,原理也一样。

  1. 如果git 只需要修改最近一次提交的commit信息或代码,则可以通过如下方式解决:
    git add xxx
    git commit --amend -s
    git push [remote-repo-branch] [local-dev-branch]
  2. git需要修改非最后一次的历史提交呢,就必须使用rebase了。
    比如想修改倒数第2次的commit内容, 则:
    git rebase -i HEAD~2
    执行完后,会出来2行内容如下:
    pick:*******
    pick:*******
    如果你要修改哪个,就把那行的pick改成edit,然后退出。
    如何 通过 git log 则可以发现git的最后一次提交已经变成我们选择的那个了,这时再使用:
    git add xxx
    git commit -amend
    来对commit进行修改。
    修改完了之后,则使用git rebase --continue 要回来
    最后,git push [remote-repo-branch] [local-dev-branch] -f进行更新。

推荐阅读