[英]How to programmatically squash merge commits in git if they have same commit message?
[英]Git squash commits with same commit message
是否有一個簡單的 Git 命令可以將具有相同提交消息的所有提交壓縮到新分支中的一個提交?
在我看來,一個簡單的命令:
git merge --squash BRANCH_WITH_SAME_COMMIT_MESSAGES
問題是我從develop
分支創建了那個分支。 我們所有完成的票都合並到develop
。 因此,在處理BRANCH_WITH_SAME_COMMIT_MESSAGES
期間,我們的工作流程是將develop
合並到BRANCH_WITH_SAME_COMMIT_MESSAGES
如果已完成的工單合並到develop
。
問題是來自develop
所有其他東西也被壓縮,但我只希望提交壓縮,具有相同的提交消息。
我怎樣才能做到這一點?
我認為您正在尋找的是git rebase
。 您可以使用Interactive Mode有選擇地將分支中的提交壓縮在一起。
要通過提交消息自動執行此操作,您可以使用--autosquash
。 但是為此,您想要壓縮/修復的提交必須以“ squash! <original message subject>
”/“ fixup! <original message subject>
” fixup! <original message subject>
。 您可以使用git commit --squash <original commit>
(或--fixup
)創建此類提交消息。
但是,當我閱讀您的問題時,您實際上想要做的是刪除重復提交,因為分支中具有相同消息的提交也包含相同的更改?
在這種情況下,您還應該在功能分支上使用git rebase
:
git rebase develop
這將衍合分支與尚未在所有提交develop
到執行可有效去除所有重復提交和合並。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.