我的公司(咨询公司)正在为另一家公司(customer)开发。咨询公司 (lead iOS和lead Android)项目中的两名主要工程师拥有customers git的登录功能,用于维护源代码。此外,我们(咨询公司)有一个供开发人员使用的内部git设置。
为了管理完成的内部工作,它被提交给内部git,并由customers git的一个领导进行测试和合并,以向客户端发布源代码。
我们正在进行的一个项目需要使用一个库,它是由customer的另一个顾问管理的子模块。我们的两个主要开发人员可以访问这个子模块,就像我们可以访问客户 git一样。
是否可以在本地git上创建子模块的本地版本,供其他开发人员和访问,以维护外部git上的git子模块地址?
发布于 2016-03-14 01:43:18
是否可以在本地git上创建子模块的本地版本,供其他开发人员访问,并在外部git上维护git子模块地址?
这是使用子模块的原因之一。git submodule是一个独立的git,包含在另一个git中。
来自医生
Submodules允许将外部存储库嵌入到源树的专用子目录中,始终指向特定的提交。
如前所述,子模块内容从独立存储库获取到当前存储库中的文件夹。对子模块文件夹的任何修改都不会显示在根文件夹上的根文件夹git status中。
总结一下:子模块正是您在这里所需要的。

发布于 2016-03-25 13:55:44
是否可能有两个不同的子模块依赖于git分支?
哦,是的,当然了。
我们主要回购中的子模块只是相应的上游repos的提交沙ID。也就是说,我们所需要的只是初始化主回购中的两个子模块,指向两个不同的分支。下面的命令应该非常清楚:
$ git submodule add path-to-sub-module-upstream sub-module-master-directory
$ git submodule add path-to-sub-module-upstream sub-module-prod-directory
$ git config -f .gitmodules submodule.sub-module-master-directory.branch master
$ git config -f .gitmodules submodule.sub-module-prod-directory.branch production
$ git commit -m 'added two sub-modules for master and production branches'此外,还可以使用$ git diff --cached --submodule验证要提交的内容。
是否可以在本地git上创建子模块的本地版本,供其他开发人员访问,并在外部git上维护git子模块地址?
子模块在许多方面表现为独立的项目,仍然是我们主要回购项目的一部分。子模块代码的开发可以通过两种简单的方式进行,不需要任何额外的命令来学习。
```javascript$ cd子模块-主目录
$ git状态/diff/添加/提交/推送/拉#--在独立的签出项目中几乎可以做的任何事情
发布,我们可以转到主回购目录,并提交/推送我们的子模块回购的最新引用。或者,如果您想对它感兴趣,那么为子模块创建一个后置提交/推送挂钩,它会自动更新主回购上子模块提交的引用。
https://stackoverflow.com/questions/35978137
复制相似问题