假设我在 github 上有两个项目:
- 项目一:a.cpp 和 ch
- 项目 2:b.cpp 和 ch
现在,我可以设置两个存储库,都具有 ch 但是,这很糟糕:如果我更改项目 1 的 ch,我需要将硬盘上的 ch 复制到项目 2 中,然后将两者都推送。
其他解决方案:制作 3 个项目:每个文件一个。但是,下载项目 1(使用 a.cpp)的人必须手动将项目 3(使用 ch)下载到项目 1 的目录中。
有什么方法可以在 github 上轻松分享 ch 吗?
http://git-scm.com/book/en/Git-Tools-Submodules
Git 支持听起来像您需要的称为子模块的东西。在您的示例中,您将 ch 位于其自己的存储库中,并且两个项目都将包含该存储库作为子模块。我当然假设该子模块中的内容远不止一个文件。
陷阱:包含子模块的项目通常指向该子模块中的特定提交,直到并且除非您再次获取子模块并告诉您的应用程序使用最新的提交(因此是文件的最新版本)。