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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM