在使用 Git 作为版本控制的时候,可能会由于各种各样的原因提交了许多临时的 commit,所以需要把多个Commit合并到一起,具体做法如下:
1、首先假设已经有3个 commit
2、需要将 2dfbc7e8 和 c4e858b5 合并成一个 commit,那么只要输入如下命令:
其中,-i 的参数是不需要合并的 commit 的 hash 值,这里指的是第一条 commit, 接着就进入到 vi 的编辑模式
3、可以看到其中分为两个部分,上方未注释的部分是填写要执行的指令,而下方注释的部分则是指令的提示说明。指令部分中由前方的命令名称、commit hash 和 commit message 组成。
当前只要知道 pick 和 squash 这两个命令即可。
pick 的意思是要会执行这个 commit
squash 的意思是这个 commit 会被合并到前一个commit
将 c4e858b5 这个 commit 前方的命令改成 squash 或 s,然后输入:wq以保存并退出。
4、这时会看到 commit message 的编辑界面
其中, 非注释部分就是两次的 commit message, 你要做的就是将这两个修改成新的 commit message。
5、输入wq保存并推出, 再次输入git log查看 commit 历史信息,就会发现这两个 commit 已经合并了。
github 网页版功能不是很全的。
你这个要求,我感觉,只能是靠对比两个不同的提交记录来获得总修改了。