正如标题中的问题所述。
一个小背景:我们的公司正在外包,但我们希望外包人员拥有最新的代码并使用最佳实践(如源代码控制)。现在我们也在做房屋开发。出于保密原因,我们不想让他们访问我们内部的源代码控制,但我们将在一些项目上进行合作。
有没有办法让我在推送时可以同时更新我们内部的git设置和外包商的git存储库?
发布于 2012-02-09 06:59:56
是的,你可以做到。在您的内部存储库中使用一个钩子,它会触发(保存的凭据)推送到远程存储库。
另一种方法是不时地运行批处理同步脚本。
第三种可能不太有效的方法是使git commit
在本地挂接以同时提交两个repos。我不推荐这种方法。
发布于 2012-02-09 07:01:16
实际上我以前也这么做过。我的.git/config文件如下所示:
[remote "github"]
url = git@github.com:mattborn/raplets.git
push = +:
fetch = +refs/heads/*:refs/remotes/origin/*
[remote "personal"]
url = ssh://mtborn@mattborn.net/~/raplets.git
push = +:
fetch = +refs/heads/*:refs/remotes/mirror/*
[remote "origin"]
# Push as equally authoritative
url = git@github.com:mattborn/raplets.git
url = ssh://mtborn@mattborn.net/~/raplets.git
push = +:
fetch = +refs/heads/*:refs/remotes/origin/*
我不认为这一定是个好主意。但我已经做到了。
发布于 2012-02-09 07:02:10
如果您使用codebasehq,您可以设置一个镜像存储库,当您更新原始存储库时,该镜像存储库将更新另一个存储库。或者,正如Borealid在他的回答中所说,您可以设置一个定期任务来同步两个存储库。
https://stackoverflow.com/questions/9202865
复制相似问题