您正在以三角Y方式工作。
架构:
场景:
如何实现上述方案?
架构:git repo A在PC A上且没有互联网git repo B是gitA的副本,是通过Git Clone创建的,并且在pcB上git repo C是gitA的副本,是通过Git Clone创建的,并且在hdd上。 。
您正在以三角Y方式工作。
blessed repo是A,并且被共享。您在B上工作。A是B的原点,因此您可以从B推/拉到A。这可以使用Tortoise上下文菜单从工作仓库中完成,这没什么大不了的。
C是A的备用。因此,B和C不是父子关系,而是兄弟姐妹。您可能会说C是同事Carlo Carlo正在研究的PC C上的存储库。
您想从B推到C。为此,B的遥控器应设置为C,而不是A。然后,您想从C推送到A。换句话说,您想将更改推送到您的大学同学Carlo,然后让Carlo将任何内容发布到blessed仓库
A。这里唯一的事情就是Carlo不存在。[我建议您避免将其推到C。C是A的备份,因此继续前进,从C中的C中的git fetch
是工作副本。B将直接推到A,然后直接从A拉出。 ““嘿,但是我们为解决A中的冲突所做的任何更改也将包含在B中,我不想要!”
您的备份C应该是git clone --mirror
,请参见docs:
设置源存储库的镜像。这意味着
,它映射所有引用(包括远程跟踪分支机构,注释等)并设置refspec配置,以使所有这些参考均被--bare
。与--bare
相比,--mirror
不仅映射]的本地分支>源到目标的本地分支git remote update
覆盖在目标存储库中。
您正在以三角Y方式工作。