是否可以根据git分支拥有两个不同的子模块?
我的公司(咨询公司)正在为另一家公司(客户)发展。咨询公司项目的两名主要工程师(首席iOS和首席Android)具有为客户git维护源代码的登录功能。此外,我们(咨询公司)有一个内部git设置供开发人员使用 为了管理完成的内部工作,it部门将致力于内部git,并由一位潜在客户测试和合并到客户git,以向客户发布源代码 我们正在进行的一个项目需要使用一个库,该库是子模块,由另一家咨询公司为客户管理。我们的两个主要开发人员可以访问此子模块,因为我们可以访问客户git repo 是否可以在本地git上创建子模块的本地版本,以供其他开发人员访问?和在外部git repo上维护git子模块地址 是否可以在本地git上创建子模块的本地版本供其他开发人员访问,并在外部git repo上维护git子模块地址 这就是为什么要使用子模块的原因之一是否可以根据git分支拥有两个不同的子模块?,git,git-submodules,Git,Git Submodules,我的公司(咨询公司)正在为另一家公司(客户)发展。咨询公司项目的两名主要工程师(首席iOS和首席Android)具有为客户git维护源代码的登录功能。此外,我们(咨询公司)有一个内部git设置供开发人员使用 为了管理完成的内部工作,it部门将致力于内部git,并由一位潜在客户测试和合并到客户git,以向客户发布源代码 我们正在进行的一个项目需要使用一个库,该库是子模块,由另一家咨询公司为客户管理。我们的两个主要开发人员可以访问此子模块,因为我们可以访问客户git repo 是否可以在本地git上
git子模块
是另一个git回购中包含的独立git回购
发件人:
子模块
允许将外部存储库嵌入源代码树的专用子目录,始终指向特定提交
如上所述,子模块内容从独立存储库提取到当前存储库中的文件夹中。对子模块文件夹的任何修改都不会出现在根文件夹上的根文件夹
git status
中,根文件夹上不会显示这些修改
总之,子模块正是您在这里需要的
是否可以根据git分支拥有两个不同的子模块
哦,当然可以
我们的主repo中的子模块只是各个上游repo的commit sha 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 repo上维护git子模块地址
子模块在许多方面表现为独立项目,仍然是我们主要回购协议的一部分。子模块代码的开发可以通过两种简单的方式进行,不需要我们学习任何额外的命令
是的,我想是的。您的repo中的子模块包含(仅?)相应上游repo的提交id。更正内部repo中的子模块仅与上游repo相同。可能有用:由于git 1.7.8,子模块被间接存储,以便切换分支不会丢弃它们。
$ cd sub-module-master-directory
$ git status/diff/add/commit/push/pull #WHATEVER you can practically do inside an independently checkout project