你可以在两个GIT Repos之间同步一个单独的文件夹吗?

时间:2014-04-24 21:45:04

标签: git github

所以我在工作中使用两个开发远程GIT repos,每个repo都有自己的目的,有自己的文件夹和文件集等。

例如,像这样

REPO1

Folder A
Folder B
Folder C

REPO2

Folder C
Folder D
Folder E

因此,文件夹C在两个仓库中都是相同的文件夹,它保存相同的文件等。所有新的开发工作都在REPO1中完成,用于文件夹C,大约每周一次有人进入手动将REPO1文件夹C中的所有最新更改合并到REPO2文件夹C.

这意味着文件夹C的REPO2总是有点过时。因此,对于从REPO1REPO2的每次提交,都可以自动同步文件夹C,而不会影响每个仓库中的任何其他文件夹,因为它们不同并需要保持这种状态?

1 个答案:

答案 0 :(得分:1)

看起来你要找的是子模块。基本上这个想法是:

  • 创建一个内容为Folder C
  • 的新回购
  • REPO1REPO2
  • 中将此新repo引用为子模块
  • 当您在Folder C的{​​{1}}工作时,它会实际更新此新回购
  • 然后您只需在REPO1
  • 中更新此子目录

你应该看一下http://git-scm.com/book/en/Git-Tools-Submodules开始。


如果我们谈论代码回购,更简单的解决方案可能是:

  • REPO2来源创建一个库(例如:如果你使用的是java的maven包)
  • Folder C移除Folder C。而是添加对此库的引用
  • 然后,当您想要在REPO2
  • 中更新时,您只需发布此库的新版本

缺点是将它放在适当位置可能并不容易(甚至可能)。但是,如果可以的话,之后会更容易。