使用乌龟git更新git本地分支克隆



体系结构:

  • git repo A在没有互联网的PC A上
  • git repo C是gitA的副本,通过git Clone创建,位于hdd上
  • git repo B是gitC的副本,通过git Clone创建,位于pcB上

场景:

  • gitA是团队成员之间使用的共享文件夹
  • 我在gitB上工作
  • 我需要从gitB->gitC->gitA更新文件
  • 然后从gitA->gitC->gitB解决与gitA中成员的冲突

如何实现上述场景?

您正在以三角形的方式工作。

祝福回购是A,在没有互联网连接的机器上共享。你在B上工作。A是B的起源,因此您可以从B推/拉到A。这可以通过使用Tortoise上下文菜单的工作回购来实现,应该没什么大不了的

C是a的备份,在有互联网连接的机器上。因此,C实际上是受祝福的repo,而B是C的子代。B应该能够直接推/拉到CB和C不是父母/子女关系,而是兄弟姐妹。你可能会说C是你的同事Carlo正在开发的PC C上的一个存储库

你想从B推到C。为此,B的遥控器应该设置为C,而不是A。然后你想从C推送到A。换言之,你想推送对你的同事Carlo的更改,然后让Carlo将任何内容发布到幸运的存储库A。这里唯一的问题是Carlo不存在

我建议你把C做为a的镜像副本。避免推到CC是a的备份,因此继续进行,并且C中的git fetch来自a。B是一个工作副本,将直接推到aC,并直接从aC中拉出"嘿,但我们为解决A中的冲突所做的任何更改都将在B中,我不想要!">不,你想要,因为这些更改迟早会进入B中。

您的备份C应该是git clone --mirror,请参阅文档:

设置源存储库的镜像。这意味着CCD_ 3。与--bare相比,--mirror不仅源的局部分支映射到目标的局部分支,还映射了所有引用(包括远程跟踪分支、笔记等(并设置refspec配置,使得所有这些ref都被git remote update覆盖在目标存储库中。

只要您能够将U盘(?(连接到没有互联网连接的A,就可以使用git remote update将您的更改从C推送到A。

相关内容

  • 没有找到相关文章

最新更新