Git子模块和部署到生产

时间:2014-05-01 21:57:22

标签: git continuous-integration git-submodules gerrit

我们正在将一个项目分成两部分。其中一个部分基本上是该软件的核心库,我们正在考虑将其作为一个子模块。

当我们在dev机器上创建子模块时,我们取消了代码的删除,删除并将repo作为子模块添加到删除前代码所在的位置。

现在我觉得我们遇到了问题。

Git创建了.gitmodules,它引用了我们的Gerrit服务器用户名@ server:repo.git,因此无法跟踪,因为其他用户不共享我的用户名。

我能看到的唯一方法就是不跟踪它。部署分支。转到生产并在开发服务器上添加子模块。

这是正确的工作流程还是有不同的方法?

2 个答案:

答案 0 :(得分:0)

您通常会使用匿名机制添加子模块,例如git://或未经身份验证的http://网址。

如果您需要提交子模块,您可以使用git remote add添加第二个遥控器,或者只是在其他地方签出另一个模块副本进行编辑。

答案 1 :(得分:0)

您仍然可以使用子模块进行安全登录。从.gitmodules中的URL中删除您的用户名,并让所有用户配置其计算机以在命中服务器时指定用户名。如果使用https,则可以使用.netrc文件;如果使用ssh,则可以使用.ssh/config文件。

以下是ssh config的示例:

Host my-corp-server.corp.com
    User my-username

这是我们用来处理$ DAYJOB子模块的方法,它运行正常。