管理包含子仓库的 Git

4
我正在创建一个Git仓库,其中包含很多代码。我发现很多我想要放入仓库的代码已经存在于其他Git资源中。我已经阅读了不少关于子模块和子树的文章,但是我不确定哪种方式最适合我的用例。
我的Git仓库将有许多文件夹、脚本等,我希望从远程仓库获取最新的代码。
理想情况下,如果我或社区中的某个人想要针对受远程Git控制的文件夹中的代码进行更改并提交补丁,则他们可以在该文件夹下工作并提交补丁,而不会影响我的仓库。
我还希望用户能够提交脚本/文件的补丁至我的仓库,而不会因为使用子模块/子树等造成太多困扰。
对于首选方案,您的建议是什么?子模块、子树还是其他东西?
这里是示例布局。
Folder1
---------SubFolder1.1
Folder2 <= Git Repo => Folder3
---------SubFolder3.1 <= Git Repo =>
1个回答

2

我希望我的代码库中有很多代码可以从其他Git源获得
我想要来自远程存储库的最新代码。

子模块似乎是最合适的选择,特别是因为子模块可以跟随给定分支的最新提交
但是,由于您想要提交补丁,这意味着您必须首先:

  • fork一个存储库
  • 将该fork作为子模块添加到您的项目中。

这样,您就可以:

  • 在该子模块中创建专用分支,
  • 进行新的提交
  • 将其推送到您的fork中
  • 从那里发起pull request

子模块的唯一复杂性在于记住,对子模块的任何修改都意味着您必须返回到父存储库,添加、提交和推送表示您修改的子模块的新SHA1特殊条目


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接