我有一個名爲release/X.X.X.X
的發佈分支,其中包含我要部署到生產的所有功能分支。發佈分支位於當前生產狀態的master
之上。如何比較兩個git分支並通過提交消息過濾差異?
在每個發佈日,我確保我們的發佈分支僅包含計劃發佈的更改。我使用這個命令來比較發行版和主分支:git log release/X.X.X.X ^master --no-merges
。然後,我手動檢查提交的關鍵字,如「SHR-1234」,它們代表票證管理系統中的票號。我需要將每個提交與一個票號列表進行比較,以確定不需要的更改。
如何過濾git log release/X.X.X.X ^master --no-merges
和不包含關鍵字(如「SHR-1234」)返回的提交?這樣我可以識別不需要的更改的票數。
我嘗試了grep和awk,但結果沒有用,因爲它們沒有過濾掉整個提交。
請參閱'git log --grep',然後查看'--invert-grep'選項。 – torek
@torek通過gui間接使用1000次,但不知道tbh:D謝謝!你可以添加它作爲答案,我可以接受它嗎?我使用它像這樣'git log release/XXXX^master --no-merges --invert-grep --grep ='SHR-1234'--grep ='SHR-4321'...' – clinical
相關:https: //stackoverflow.com/q/1419623/1959808 –