检查对一个GIT分支的所有提交是否都已被另一个GIT分支选中
是否有某种方法,也许使用git日志,我可以看到我在“开发”中的任何提交是否还没有被选中到“其他分支” 例如,我对开发做出了6个承诺,并选择其中5个提交给otherbranch。我可以执行什么git log命令来输出我错过的1次提交 (我们的所有承诺都是通过Gerrit推动的,因此任何基于Gerrit的解决方案也会有所帮助。) 我应该这样做检查对一个GIT分支的所有提交是否都已被另一个GIT分支选中,git,version-control,branch,gerrit,cherry-pick,Git,Version Control,Branch,Gerrit,Cherry Pick,是否有某种方法,也许使用git日志,我可以看到我在“开发”中的任何提交是否还没有被选中到“其他分支” 例如,我对开发做出了6个承诺,并选择其中5个提交给otherbranch。我可以执行什么git log命令来输出我错过的1次提交 (我们的所有承诺都是通过Gerrit推动的,因此任何基于Gerrit的解决方案也会有所帮助。) 我应该这样做 日志选项--cherry mark,--left only,--right only,--cherry和--cherry pick显示日志上类似或不同提交的各
日志选项
--cherry mark
,--left only
,--right only
,--cherry
和--cherry pick
显示日志上类似或不同提交的各种选择。…
(两个分支也称为“对称差异”)日志。另外,--left-right
为每个提交显示其更改是仅出现在左分支、右分支上,还是同时出现在左分支和右分支上。由于从开发分支到其他分支的一些提交,提交id将不同。如果使用git log--cherry otherbranch..develope
,您将看到develope
分支中存在的所有提交(包括提交cherry pich到otherbranch
)
如果您的提交注释是唯一的,您可以通过以下方式搜索提交到其他分支
git log develop..otherbranch --grep=comment1 --grep=comment2 --grep=comment3 --grep=comment4 --grep=comment5 --grep=comment6 --oneline
因此,对otherbranch
进行的提交是相反的 Cherry pick进行新的提交,应用相同的更改。您看到的是原始提交和cherry-pick提交。因此,如果我要开发6个提交,并且cherry-pick将其中的5个提交到otherbranch,我希望会有一个git日志命令输出1个提交。那会是什么呢?git日志——我想只有其他分支……开发。尝试git帮助日志
。除了--cherry
(它是--仅限右--cherry标记--无合并的同义词
之外,您可以使用--仅限右--cherry pick--无合并
。区别在于--cherry标记
标记提交(是否等效),而--cherry pick
跳过等效的提交。git cherry
命令类似,尽管出于指令目的,我更喜欢直接对称差异:git cherry
是在了解上述所有内容后使用的命令。:-)
git log develop..otherbranch --grep=comment1 --grep=comment2 --grep=comment3 --grep=comment4 --grep=comment5 --grep=comment6 --oneline