为了澄清你的例子,你目前有这个:
Z-Y-X-W <--A
你想在 A 当前所在的地方分支 B,所以你会有这个:
Z-Y-X-W <--A,B
然后将 A 恢复到较早的点
Z-Y <--A
\
X-W <--B
是的,你可以这样做。分支只是指向提交的指针,因此您可以随意移动它们。只要提交有一个指向它的分支,它就会保留在您的存储库中以供将来使用。删除指向它的最后一个分支,它将被垃圾收集。
但另一个重要问题是:A 是否在跟踪远程分支 origin/A?如果是这样,您需要更加小心,不要更改起源/A 的历史。