首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可能有两个不同的子模块依赖于git分支?

是否可能有两个不同的子模块依赖于git分支?
EN

Stack Overflow用户
提问于 2016-03-14 01:29:48
回答 2查看 2K关注 0票数 3

我的公司(咨询公司)正在为另一家公司(customer)开发。咨询公司 (lead iOS和lead Android)项目中的两名主要工程师拥有customers git的登录功能,用于维护源代码。此外,我们(咨询公司)有一个供开发人员使用的内部git设置。

为了管理完成的内部工作,它被提交给内部git,并由customers git的一个领导进行测试和合并,以向客户端发布源代码。

我们正在进行的一个项目需要使用一个库,它是由customer的另一个顾问管理的子模块。我们的两个主要开发人员可以访问这个子模块,就像我们可以访问客户 git一样。

是否可以在本地git上创建子模块的本地版本,供其他开发人员访问,以维护外部git上的git子模块地址?

EN

回答 2

Stack Overflow用户

发布于 2016-03-14 01:43:18

是否可以在本地git上创建子模块的本地版本,供其他开发人员访问,并在外部git上维护git子模块地址?

这是使用子模块的原因之一。git submodule是一个独立的git,包含在另一个git中。

来自医生

Submodules 允许将外部存储库嵌入到源树的专用子目录中,始终指向特定的提交。

如前所述,子模块内容从独立存储库获取到当前存储库中的文件夹。对子模块文件夹的任何修改都不会显示在根文件夹上的根文件夹git status中。

总结一下:子模块正是您在这里所需要的。

票数 3
EN

Stack Overflow用户

发布于 2016-03-25 13:55:44

是否可能有两个不同的子模块依赖于git分支?

哦,是的,当然了。

我们主要回购中的子模块只是相应的上游repos的提交沙ID。也就是说,我们所需要的只是初始化主回购中的两个子模块,指向两个不同的分支。下面的命令应该非常清楚:

代码语言:javascript
复制
$ 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子模块地址?

子模块在许多方面表现为独立的项目,仍然是我们主要回购项目的一部分。子模块代码的开发可以通过两种简单的方式进行,不需要任何额外的命令来学习。

  1. 我们要么独立地检查它们,然后执行所有的git命令,如状态、差异、分支、添加、提交、拉、推.
  2. 或者我们也可以更新子模块的代码,这些子模块是主回购的一部分。以最简单的方式,我们所需要做的就是进入子模块目录,感觉就像在独立签出的项目中一样。所以,我的主要意思是:
代码语言:javascript
复制
```javascript

$ cd子模块-主目录

$ git状态/diff/添加/提交/推送/拉#--在独立的签出项目中几乎可以做的任何事情

代码语言:javascript
复制

发布,我们可以转到主回购目录,并提交/推送我们的子模块回购的最新引用。或者,如果您想对它感兴趣,那么为子模块创建一个后置提交/推送挂钩,它会自动更新主回购上子模块提交的引用。

这里有更多的细节

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35978137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档