师父遗失了哪些承诺?

时间:2013-11-18 18:35:29

标签: git

我可以通过以下方式检查特定提交的分支:

git branch --contains 469bcec

无论如何我可以得到提交没有进入特定分支的内容吗?

例如,无论如何我可以检查哪些提交没有进入Master?

由于

4 个答案:

答案 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*'以获取分支featureAfeatureB等,但不是分支{ {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-parsegit rev-list现在提到:

--glob=<pattern>
  

不要包含匹配“--exclude=<glob-pattern>:: ”的引用,否则下一个<glob-pattern>--all--branches--tags--remotes将会考虑一下。
  重复此选项会累积排除模式,直到下一个--glob--all--branches--tags--remotes选项(其他选项或参数不清除)累积模式)。

     

应用于--globrefs/headsrefs/tags时,所提供的模式不应以refs/remotes--branches--tags开头,分别应用于--remotesrefs/时,必须以--glob开头   如果打算使用尾随“--all”,则必须明确指定。