git在3路合并后删除分支。它看起来像什么样的图表?
我一直在关注Scott Chacon的文章,我已经到了第三章的结尾,在这一章中,我们刚刚完成了三方合并。请参见下图(我自己绘制的图表不是本书的屏幕抓图): 在将“master”与“issue53”合并后,导致合并提交c6,作者说我们可以删除分支“issue53”git在3路合并后删除分支。它看起来像什么样的图表?,git,merge,branch,diagram,Git,Merge,Branch,Diagram,我一直在关注Scott Chacon的文章,我已经到了第三章的结尾,在这一章中,我们刚刚完成了三方合并。请参见下图(我自己绘制的图表不是本书的屏幕抓图): 在将“master”与“issue53”合并后,导致合并提交c6,作者说我们可以删除分支“issue53” git branch -d 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中列出,至少在一段时间内是这样。我很想知道你是怎么画的。嗨,安德鲁,你确定这是三方合并吗?从我所看到的来看,commitC6
只有两个而不是三个家长。教科书上这样称呼它,所以我认为它是正确的。这是因为合并需要C2、C4和C5。@TimBiegeleisen(和Andrew S):术语三向合并指的是单一祖先加上作为其输入的两个版本。这张图看起来不像我以前看到的。在任何情况下,当您删除一个分支时,如果其他分支引用了该分支中的提交,则该分支中的提交将保持不变,至少对于大多数提交来说,这里可能就是这种情况。实际上,即使你核化了一个分支,所有的提交仍然会在reflog中列出,至少在一段时间内是这样。我很想知道你是怎么画的。嗨,安德鲁,你确定这是三方合并吗?从我所看到的来看,commitC6
只有两个而不是三个家长。教科书上这样称呼它,所以我认为它是正确的。这是因为合并需要C2、C4和C5。@TimBiegeleisen(和Andrew S):术语三向合并指的是单一祖先加上作为其输入的两个版本。看见