Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.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在3路合并后删除分支。它看起来像什么样的图表?_Git_Merge_Branch_Diagram - Fatal编程技术网

git在3路合并后删除分支。它看起来像什么样的图表?

git在3路合并后删除分支。它看起来像什么样的图表?,git,merge,branch,diagram,Git,Merge,Branch,Diagram,我一直在关注Scott Chacon的文章,我已经到了第三章的结尾,在这一章中,我们刚刚完成了三方合并。请参见下图(我自己绘制的图表不是本书的屏幕抓图): 在将“master”与“issue53”合并后,导致合并提交c6,作者说我们可以删除分支“issue53” git branch -d issue53 引擎盖下的分支到底发生了什么,结果图是什么样的?我这样问是因为作者没有提到这个问题。那树枝还会在那里,只是没有指向?还是有一些我不知道的魔法 引擎盖下的那根树枝到底怎么了 这取决于你所说的

我一直在关注Scott Chacon的文章,我已经到了第三章的结尾,在这一章中,我们刚刚完成了三方合并。请参见下图(我自己绘制的图表不是本书的屏幕抓图):

在将“master”与“issue53”合并后,导致合并提交c6,作者说我们可以删除分支“issue53

git branch -d issue53
引擎盖下的分支到底发生了什么,结果图是什么样的?我这样问是因为作者没有提到这个问题。那树枝还会在那里,只是没有指向?还是有一些我不知道的魔法

引擎盖下的那根树枝到底怎么了

这取决于你所说的分支是什么意思。看

结果图是什么样的

用ASCII而不是花哨的图形绘制,我得到:

C0<-C1<-C2<-C4<---C6   <-- master (HEAD)
          \      /
           C3<-C5
C0
引擎盖下的那根树枝到底怎么了

这取决于你所说的分支是什么意思。看

结果图是什么样的

用ASCII而不是花哨的图形绘制,我得到:

C0<-C1<-C2<-C4<---C6   <-- master (HEAD)
          \      /
           C3<-C5

git中的分支只是一个指向提交的指针,它有一个非常简单的实现——它是一个文本文件,包含它所指向的提交的校验和

因此,在本例中,您将有一个文件
.git/refs/heads/issue53
,它代表您的分支(即您的分支)


当您在git中删除一个分支时,您将删除代表该分支的文本文件(指针)。在本例中,
.git/refs/heads/issu53

git中的分支只是一个指向提交的指针,它有一个非常简单的实现——它是一个文本文件,包含它所指向的提交的校验和

因此,在本例中,您将有一个文件
.git/refs/heads/issue53
,它代表您的分支(即您的分支)


当您在git中删除一个分支时,您将删除代表该分支的文本文件(指针)。在本例中,
.git/refs/heads/issu53

此图看起来与我以前看到的不同。在任何情况下,当您删除一个分支时,如果其他分支引用了该分支中的提交,则该分支中的提交将保持不变,至少对于大多数提交来说,这里可能就是这种情况。实际上,即使你核化了一个分支,所有的提交仍然会在reflog中列出,至少在一段时间内是这样。我很想知道你是怎么画的。嗨,安德鲁,你确定这是三方合并吗?从我所看到的来看,commit
C6
只有两个而不是三个家长。教科书上这样称呼它,所以我认为它是正确的。这是因为合并需要C2、C4和C5。@TimBiegeleisen(和Andrew S):术语三向合并指的是单一祖先加上作为其输入的两个版本。这张图看起来不像我以前看到的。在任何情况下,当您删除一个分支时,如果其他分支引用了该分支中的提交,则该分支中的提交将保持不变,至少对于大多数提交来说,这里可能就是这种情况。实际上,即使你核化了一个分支,所有的提交仍然会在reflog中列出,至少在一段时间内是这样。我很想知道你是怎么画的。嗨,安德鲁,你确定这是三方合并吗?从我所看到的来看,commit
C6
只有两个而不是三个家长。教科书上这样称呼它,所以我认为它是正确的。这是因为合并需要C2、C4和C5。@TimBiegeleisen(和Andrew S):术语三向合并指的是单一祖先加上作为其输入的两个版本。看见