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