我可以通过以下方式检查特定提交的分支:
git branch --contains 469bcec
无论如何我可以得到提交没有进入特定分支的内容吗?
例如,无论如何我可以检查哪些提交没有进入Master?
由于
答案 0 :(得分:3)
这至少接近你想要的 - 不确定它是否完全匹配:
git log --pretty=oneline --all --not master
答案 1 :(得分:1)
没有办法指定“repo中的所有提交而不管标签”(好吧,在内部,有类似的,这就是git fsck
找到“悬挂提交”的方式)但是你不想要无论如何,因为它会找到“临时,非分支”提交,例如refs/stash
及其reflog中的提交。
还不清楚是否要包含或排除通过refs/remotes/
命名的提交,例如(“远程分支”)或通过标记命名的提交。但是,一般来说,执行此操作的方法是从talles' answer开始,twalberg's answer使用..
语法:EXC..INC
表示与INC --not EXC
相同的内容,即所有提交可以从“包含”点 INC
开始,减去从“排除”点 EXC
开始的所有提交。如果包含点为分支devel
且排除点为master
,则这是“devel
”上的“master
”上的提交列表。 (并且您可以省略任意一方表示“使用HEAD
”,因此..master
表示“包含HEAD
,排除master
”这意味着“此分支上的所有提交都是不在master
上。)
使用扩展形式,可以要求从多个起始“包含”点可以到达的所有提交,减去从“排除”点可到达的提交。所以:
git log featureA featureB --not master
获取不在master
中的两个功能分支的所有内容。
但是,如果您想要“本地分支”,则可以采用直接方式:git rev-list
具有--branches
参数。使用--branches
表示“所有本地分支”。您可以添加=pattern
以仅选择与某些shell样式模式匹配的分支,例如--branches='feature*'
以获取分支featureA
,featureB
等,但不是分支{ {1}}。
将这些内容提供给使用devel
的任何命令,包括git rev-list
:
git log
标签和遥控器有类似的$ git log --oneline --graph --decorate --branches --not master
参数,以及git rev-list
,允许您访问完整的参考名称空间。提供--glob
(如{{3}}中所示)与--all
相同,即包含--glob=*
名称空间中的每个引用 - 包括refs
,并非总是如此你想要什么。
(另外,最后一个句法诀窍:你可以用refs/stash
拼写--not master
。这与使用^master
略有不同:--not
翻转适用于的{2}布尔标志所有后续名称,而前导--not
仅适用于其中的一个项目;因此^
“表示”与--not rel1 rel2
相同。请注意^rel1 ^rel2
与^commit
非常不同{1}}。啊,git。:-))
答案 2 :(得分:0)
我不知道你是否可以在一个命令中执行所有分支(没有脚本),但对于特定的分支,你可以这样做:
git log master..mybranch
这会列出mybranch
上不存在的master
上的所有修订。
您也可以在同一个命令中使用多个分支:
git log master..mybranch1 master..mybranch2
为了简单起见,您还可以添加--oneline
选项并省略您当前的分支(假设您在主分支上):
git log ..mybranch1 ..mybranch2 --oneline
答案 3 :(得分:0)
另一种方式:Git 1.9 / 2.0(2014年第一季度)将包含一个--exclude
新选项commit 10167eb:
人们常常希望告诉“
git log --branches
”(和“git log --remotes --not --branches
”)从“--branches
”的扩展中排除某些本地分支(类似于“{{1 “}”,“--tags
”和“--all
”) 现在他们有一个。
git rev-parse和git rev-list现在提到:
--glob=<pattern>
不要包含匹配“
--exclude=<glob-pattern>::
”的引用,否则下一个<glob-pattern>
,--all
,--branches
,--tags
或--remotes
将会考虑一下。
重复此选项会累积排除模式,直到下一个--glob
,--all
,--branches
,--tags
或--remotes
选项(其他选项或参数不清除)累积模式)。应用于
--glob
,refs/heads
或refs/tags
时,所提供的模式不应以refs/remotes
,--branches
或--tags
开头,分别应用于--remotes
或refs/
时,必须以--glob
开头 如果打算使用尾随“--all
”,则必须明确指定。