本文共 1257 字,大约阅读时间需要 4 分钟。
如何查询以找出包含给定提交的分支? gitk
通常会列出分支,除非有太多分支,在这种情况下,它只会显示“许多(38)”或类似内容。 我需要知道完整列表,或者至少要知道某些分支是否包含提交。
从 :
git branch --contains
仅列出包含指定提交的分支(如果未指定,则为HEAD)。 暗示
--list
。
git branch -r --contains
还列出 (如下面的的所述),即“与远程分支有直接关系的本地分支”。
另请参阅这篇文章。
--contains
标记将确定是否已将某个提交引入分支。 也许您已经从自己认为已应用的补丁中获得了提交SHA,或者您只是想检查是否可以将您最喜欢的开源项目提交,从而将内存使用减少了75%。
$ git log -1 testscommit d590f2ac0635ec0053c4a7377bd929943d475297Author: Nick QuarantoDate: Wed Apr 1 20:38:59 2009 -0400 Green all around, finally.$ git branch --contains d590f2 tests* master
注意: 如果提交在 ,请添加-a
选项 。
git branch -a --contains
注释它仅显示哪些分支包含该确切的提交。
如果您想知道哪些分支包含一个“等效”提交(即哪些分支已经选择了该提交),那就是 :由于
例如,如果您通过电子邮件提供git cherry
比较更改集而不是提交ID(sha1) ,因此您可以使用git cherry
来查找在本地进行的提交是否已在其他提交ID下应用了<upstream>
。<upstream>
补丁程序,而不是直接推送或提取提交,则会发生这种情况。
__*__*__*__*__>/fork-point \__+__+__-__+__+__-__+__>
(在这里,标有' -
'的提交不会与git cherry
,这意味着它们已经存在于<upstream>
。)
您可以运行:
git log..HEAD --ancestry-path --merges
从输出中最后一次提交的注释中,您可以找到原始分支名称
例:
c---e---g--- feature / \-a---b---d---f---h---j--- mastergit log e..master --ancestry-path --mergescommit hMerge: g fAuthor: Eugen Konkov <>Date: Sat Oct 1 00:54:18 2016 +0300 Merge branch 'feature' into master
转载地址:http://hxogj.baihongyu.com/