从即将删除的分支中剪切 git 分支可以吗?
Fine to cut a git branch from soon to be deleted branch?
从另一个要合并删除的分支(A
)中切出一个分支(B
)是否有可预见的麻烦?即 A
将在 B
合并和删除之前合并到 master 并删除。我是否需要保留分支 A
直到 B
完成或删除是否安全?
master ----------------------------
|
|
A---------------------
|
|
B--------------
不,这绝对没有问题。请记住,当您将 A 合并到 master 时,B 分支的提交不会去任何地方:
master ------*--*-------*------*------*------*
| /^
| / |____Merged A to master
-------*-------*------/
|
|
B----------*---------*
即使您进行挤压合并,也不会造成任何伤害。当你最终将 B 合并到 master 时,只有 B 与 master 相比的变化是相关的,B 的起源点没有区别。
在 git 中,标签和分支是使您能够到达有向图中的项目的引用。唯一可用的根图路径是那些以分支或标签结尾的路径。没有分支或标签(或两者都不是的引用,如分离的 HEAD),您将一无所有。
从分支 B 的角度来看,甚至存在分支 A 的事实在很大程度上是无关紧要的:它只对跟踪合并很重要,在任何情况下,缺少分支 A 都不会丢失除此类信息之外的任何信息。由于分支 A 将被合并并关闭(删除),因此您想要的任何跟踪信息都已在合并点应用到 master
。如果你合并B,它会在稍后发生,并且B已经携带了从它自己,通过分支A的片段,到图的根的路径(可能有很多!)。
如果分支 A 在没有合并的情况下被删除,分支 B 看起来就像一条直线到 master:它会在从 B 到 master 分支上最近的公共祖先提交的路径上包括来自分支 A 的提交.
重要的是你有分支 B 的句柄,而且你这样做了:分支本身就是句柄。您还可以有一个标签(标签和分支在所有方面都是相同的,除了它们在合并和解决冲突期间的解释之外)。或者一个分离的 HEAD。或者生活在边缘并将唯一的活动引用保留在回收站中(a.k.a。一个没有引用的头一直保留到它过期并被垃圾收集)。
从另一个要合并删除的分支(A
)中切出一个分支(B
)是否有可预见的麻烦?即 A
将在 B
合并和删除之前合并到 master 并删除。我是否需要保留分支 A
直到 B
完成或删除是否安全?
master ----------------------------
|
|
A---------------------
|
|
B--------------
不,这绝对没有问题。请记住,当您将 A 合并到 master 时,B 分支的提交不会去任何地方:
master ------*--*-------*------*------*------*
| /^
| / |____Merged A to master
-------*-------*------/
|
|
B----------*---------*
即使您进行挤压合并,也不会造成任何伤害。当你最终将 B 合并到 master 时,只有 B 与 master 相比的变化是相关的,B 的起源点没有区别。
在 git 中,标签和分支是使您能够到达有向图中的项目的引用。唯一可用的根图路径是那些以分支或标签结尾的路径。没有分支或标签(或两者都不是的引用,如分离的 HEAD),您将一无所有。
从分支 B 的角度来看,甚至存在分支 A 的事实在很大程度上是无关紧要的:它只对跟踪合并很重要,在任何情况下,缺少分支 A 都不会丢失除此类信息之外的任何信息。由于分支 A 将被合并并关闭(删除),因此您想要的任何跟踪信息都已在合并点应用到 master
。如果你合并B,它会在稍后发生,并且B已经携带了从它自己,通过分支A的片段,到图的根的路径(可能有很多!)。
如果分支 A 在没有合并的情况下被删除,分支 B 看起来就像一条直线到 master:它会在从 B 到 master 分支上最近的公共祖先提交的路径上包括来自分支 A 的提交.
重要的是你有分支 B 的句柄,而且你这样做了:分支本身就是句柄。您还可以有一个标签(标签和分支在所有方面都是相同的,除了它们在合并和解决冲突期间的解释之外)。或者一个分离的 HEAD。或者生活在边缘并将唯一的活动引用保留在回收站中(a.k.a。一个没有引用的头一直保留到它过期并被垃圾收集)。