由两个github repos共享文件?

时间:2012-08-18 04:11:15

标签: git github

假设我在github上有两个项目:

  • 项目1:a.cpp和c.h
  • 项目2:b.cpp和c.h

现在,我可以设置两个repos,两个都有c.h.但是,这很糟糕:如果我更改了项目1的c.h,我需要将硬盘上的c.h复制到Project 2中,然后同时推送它们。

其他解决方案:制作3个项目:每个文件一个。但是,下载Project 1(使用a.cpp)的人必须手动将Project 3(带有c.h)下载到Project 1的目录中。

有没有办法在github上轻松共享c.h?

1 个答案:

答案 0 :(得分:3)

http://git-scm.com/book/en/Git-Tools-Submodules

Git支持一些叫做子模块的东西,听起来就像你需要的那样。在您的示例中,您将c.h位于其自己的存储库中,并且两个项目都将该存储库作为子模块包含在内。我当然假设该子模块中的内容远远多于那个文件。

陷阱:包含子模块的项目通常指向该子模块中的特定提交,除非您再次获取子模块并告诉应用程序使用最新的提交(以及最新版本的文件)。