Bos*_*osh 5 git merge git-branch
我们在使用GIT方面非常缺乏经验.实际上我们喜欢分支的想法;-)但不知何故,所有来自一个用户的合并只是不关闭分支......
你可以在这里查看图片:http://i54.tinypic.com/297i14.png
有一条灰色和一条蓝线直接向前......即使在合并之后......那么他做错了什么?有线索吗?我不想想象如果他创建了更多的分支会发生什么,即使在合并之后所有分支仍然保留在历史视图中...
非常感谢你!
Mar*_*air 15
进行合并时,新提交仅向前移动当前分支.指向另一个分支的分支名称保留在原来的位置.换句话说,如果您遇到这种情况:
A---B---C blue
\
D---E---F grey
Run Code Online (Sandbox Code Playgroud)
......并做:
git checkout blue
git merge grey
Run Code Online (Sandbox Code Playgroud)
你最终得到:
A---B---C---G blue
\ /
D---E---F grey
Run Code Online (Sandbox Code Playgroud)
如果你想删除grey
分支,那么你可以做git branch -d grey
.这不会影响提交图,只需删除分支 - 它们就像在提交图周围移动的标签一样.
但是,如果你坚持下去,并创建了更多的提交grey
和blue
分支机构,这些线路将继续:
A---B---C---G---H---I blue
\ /
D---E---F---J---K---L grey
Run Code Online (Sandbox Code Playgroud)
在您链接到的图像中,我假设在您显示的部分之上还有进一步的提交,或者您正在使用的工具只是奇怪地呈现提交图.
我不确定你所说的关闭分支是什么意思,但我会猜测:)
即使合并完成后仍然可以使用分支。我想这是按照设计以及应该如何进行的。例如,即使在合并完成后,您可能仍希望继续使用该分支,例如为了继续专注于该分支的开发。这就是为什么它仍然出现在您提到的图像中。
如果您不想这样做,可以在合并后删除该分支,这可以通过git branch -d <branch>
在另一个分支(例如 master)中发出命令来明确关闭该分支。(只有当最新提交已与您活动的分支合并时,这才会删除该分支,因此不存在丢失数据的风险。)