通过两个github Repo共享文件?

通过两个github Repo共享文件?,git,github,Git,Github,假设我在github上有两个项目: 项目1:a.cpp和c.h 项目2:b.cpp和c.h 现在,我可以建立两个回购协议,都有c.h。然而,这是不好的:如果我为项目1更改c.h,我需要将硬盘上的c.h复制到项目2中,然后将两者都推送 其他解决方案:制作3个项目:每个文件一个。然而,下载项目1(使用a.cpp)的人必须手动将项目3(使用c.h)下载到项目1的目录中 有没有办法让c.h在github上的共享变得简单? Git支持一种名为子模块的东西,听起来像您需要的东西。在您的示例中,c.h将位

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

  • 项目1:a.cpp和c.h
  • 项目2:b.cpp和c.h
现在,我可以建立两个回购协议,都有c.h。然而,这是不好的:如果我为项目1更改c.h,我需要将硬盘上的c.h复制到项目2中,然后将两者都推送

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

有没有办法让c.h在github上的共享变得简单?

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

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

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


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

注意,您现在也可以使用
git子树
,它可能比
git子模块
更容易使用。请注意,您现在也可以使用
git子树
,它可能比
git子模块
更容易使用。