我有一个名为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 –