如果我执行以下操作并仅以下内容:
A
)B
)B
到A
)B
克隆到第三台计算机(称为此新个人仓库C
)现在让我们假设服务器已被破坏,因此B
不再存在。在这种情况下,如果我从A
推送更改,C
仍然可以获取这些更改吗?
或者换句话说,git是否会以“链式”的方式对遥控器进行更改,或者对“群集”中的所有遥控器进行相互了解?
答案 0 :(得分:1)
没有。 A
会将B
列为远程,C
会将B
列为远程,但他们不会相互了解。如果您销毁B
并且未向A
添加另一个遥控器,那么您无法将更改从A
推送到
答案 1 :(得分:1)
首先,您从未将任何更改从A
推送到B
。因此,虽然A
知道B
,但B
对A
一无所知,也不包含任何数据。
从A
推送到B
可以从A
开始工作(因为A
知道B
)。数据将以B
结尾。无论有多少其他回购信息了解B
,B
都不会进一步推动这些变化。相反,其他回购必须从 B
中拉 。
如果我们假设您至少从A
推送到B
并克隆到C
,则可以将C
作为远程添加到A
然后推动它。但C
永远不会“神奇地”包含在其他回购之间推送的数据。只有当有人推送或从某个地方拉出时,数据才会复制到回购中。
因此,对于每个操作,只涉及2个回购。