Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有Git命令来显示创建分支的分支?_Git_Git Branch - Fatal编程技术网

是否有Git命令来显示创建分支的分支?

是否有Git命令来显示创建分支的分支?,git,git-branch,Git,Git Branch,假设您在master,并且执行git签出-B错误修复/用户配置文件不存在。现在有没有办法发现您是从master分支出来的,或者Git没有跟踪到这一点?从技术上讲,分支不是从另一个分支创建的,它是从提交创建的,所以我不确定是否记录了您想要的信息。它似乎不在reflog中 如果分支具有上游集,则可以使用以下方法获得: git rev-parse --symbolic-full-name @{u} 但是上游分支并不总是它被分支的分支,因为上游分支可以在创建分支时设置(使用--track,或者如果br

假设您在
master
,并且执行
git签出-B错误修复/用户配置文件不存在
。现在有没有办法发现您是从
master
分支出来的,或者Git没有跟踪到这一点?

从技术上讲,分支不是从另一个分支创建的,它是从提交创建的,所以我不确定是否记录了您想要的信息。它似乎不在reflog中

如果分支具有上游集,则可以使用以下方法获得:

git rev-parse --symbolic-full-name @{u}

但是上游分支并不总是它被分支的分支,因为上游分支可以在创建分支时设置(使用
--track
,或者如果
branch.autosetupmerge
为true,则可以自动设置),也可以在以后设置/更改它(使用
--将上游分支设置为
),分支不是从另一个分支创建的,它是从提交创建的,因此我不确定是否记录了您想要的信息。它似乎不在reflog中

如果分支具有上游集,则可以使用以下方法获得:

git rev-parse --symbolic-full-name @{u}

但该上游并不总是它被分支的上游,因为上游分支可以在创建分支时设置(使用
--track
,或者如果
branch.autosetupmerge
为true,则可以自动设置),也可以稍后设置/更改(使用
--set upstream to
),考虑这个提交/分支图:

A--B--C--D-------------E--P
       \                \
        \   G--H--I---M--N--O
         \ /         /
          F         /
           \       /
            J--K--L
分支
O
是从哪个分支创建的?包含
F
的分支之一是从
A-B-C
分支创建的,但它是包含
G
的分支还是包含
J
的分支?也许
F
仍然是一个独特的分支,
G
J
都是从
F
创建的分支。此外,包含
G
J
的两个分支随后在
M
处再次合并在一起。还有其他几个模棱两可的“这个分支来自哪里”的情况。请记住,
A-B-C-D-E-P
直线的平坦度不显著-可以使用相同的拓扑重新绘制图形,但将
A-B-C-F-J-K-L-M-N-O
作为直线;这将导致一系列不同的“它从何而来”问题


一般来说,您所问的问题是不可回答的,超出了基于命名策略的约定,或者在提交消息中包含其他信息,或者其他什么。。。有些人可能会争辩说,对这个问题的任何回答都不是真正有用的或有趣的(我不确定我自己会走那么远,我自己,但是……< / P> < P>),作为一个例子,考虑这个提交/分支图:

A--B--C--D-------------E--P
       \                \
        \   G--H--I---M--N--O
         \ /         /
          F         /
           \       /
            J--K--L
分支
O
是从哪个分支创建的?包含
F
的分支之一是从
A-B-C
分支创建的,但它是包含
G
的分支还是包含
J
的分支?也许
F
仍然是一个独特的分支,
G
J
都是从
F
创建的分支。此外,包含
G
J
的两个分支随后在
M
处再次合并在一起。还有其他几个模棱两可的“这个分支来自哪里”的情况。请记住,
A-B-C-D-E-P
直线的平坦度不显著-可以使用相同的拓扑重新绘制图形,但将
A-B-C-F-J-K-L-M-N-O
作为直线;这将导致一系列不同的“它从何而来”问题


一般来说,您所问的问题是不可回答的,超出了基于命名策略的约定,或者在提交消息中包含其他信息,或者其他什么。。。有些人可能会争辩说,这个问题的任何答案都不是真正有用或有趣的(不过,我自己也不确定自己会走那么远).

也许这会有所帮助-@TomRon我知道我可以用图表来做这件事,而且我经常这样做。然而,一位同事(Git新手)最近问,是否可以简单地告诉你的分支机构你的分支机构是从哪个分支机构出来的。也许这会有所帮助-@TomRon我知道我可以用一个图表来做这件事,我经常这样做。然而,一位同事(Git新手)最近问,是否可以简单地告诉你的分支机构来自哪个分支机构。