GIT合并多次提交
当我们在本地仓库的分支上做开发时,对于一个功能进行了多次提交,在push到远程仓库之前我们希望把这几个相关的commit合并为一个,这样更加简洁,也方便review。
commit 51a874e7ed0efa13c97f1463a42275891f3377ce (HEAD -> master)
Author: zhangjun3 <zhangjun3@xxx.com>
Date: Fri Dec 6 17:49:19 2019 +0800
feature B third commit
commit d2f33ab57a8aecd97476913a26e61091c7787cce
Author: zhangjun3 <zhangjun3@xxx.com>
Date: Fri Dec 6 17:48:51 2019 +0800
feature B second commit
commit f286d47698a141d2e7f63d5b6b54dceb5275dd3d
Author: zhangjun3 <zhangjun3@xxx.com>
Date: Fri Dec 6 17:48:04 2019 +0800
feature B first commit
commit d1dff09fd56e49892d146199f31c1ce5a9270877
Author: zhangjun3 <zhangjun3@xxx.com>
Date: Fri Dec 6 17:47:19 2019 +0800
feature A complete.
如果想把 featureB 相关的三次提交合并为一个,可以执行如下命令
git reset --hard d1dff09fd56
git merge --squash HEAD@{1}
git commit -m "feature B complete"
此时使用 git log 查看日志
commit c657056879e22e076df4bea25345a839a9519129 (HEAD -> master)
Author: zhangjun3 <zhangjun3@xxx.com>
Date: Fri Dec 6 18:01:24 2019 +0800
feature B complete
commit d1dff09fd56e49892d146199f31c1ce5a9270877
Author: zhangjun3 <zhangjun3@xxx.com>
Date: Fri Dec 6 17:47:19 2019 +0800
feature A complete.
三次提交合并为了一次提交记录。
不推荐合并已经push到远程仓库的commit
作者:june.js
来源链接:https://www.cnblogs.com/junejs/p/12686849.html