git 合并commit,修改历史commit内容
修改commit
修改最近一次提交的commit
git commit --amend
修改历史的commit
先git log查看,找到要修改的commit id
然后执行git rebase -i comment_id ,此时会出现如下一个界面
将pick 改为edit
然后保存退出 :wq,此时会出现如下界面
提示你 如果要修改commit信息就执行 git commit --amend
否则执行git rebase --continue 继续
接下来我们执行git commit --amend 修改完commit信息后,保存退出。
然后再执行git rebase --continue就可以了。 此时再查看git log 发现commit信息已经改过来了。
合并多个commit
同样的执行git log 查看要合并的commit id, 找到要合并的commit信息的上一个id
执行git rebase -i commit_id
然后把要合并的commit的pick都修改为squash
-
pick
的意思是要会执行这个 commit -
squash
的意思是这个 commit 会被合并到前一个commit
保存推出后,会出现一个编辑commit的界面,把其它的commit都删除,重写commit信息,然后保存退出。
最后再查看git log,发现已经合并了
参考:
https://www.jianshu.com/p/0f1fbd50b4be
https://www.jianshu.com/p/964de879904a