是否可以通过一次更新来更新两个单独的存储库?

时间:2012-02-08 22:58:41

标签: git version-control git-push

正如问题所述。

一点背景: 我们公司正在外包,但我们希望外包人员拥有最新的代码并使用最佳实践(如源代码控制)。现在我们也在做房屋开发。出于保密原因,我们不希望他们访问我们的内部源代码控制,但我们将在一些项目上进行合作。

有没有办法这样当我从我们的结尾推出时,我可以同时更新我们的内部git设置和外包商的git存储库?

3 个答案:

答案 0 :(得分:0)

是的,你可以这样做。在内部存储库中使用一个钩子,它会触发(保存的凭据)推送到远程仓库。

另一种方法是不时运行批处理同步脚本。

第三种可能不那么有效的方法是让git commit本地挂钩以提交两个回购。我不推荐这种方法。

答案 1 :(得分:0)

我之前实际上已经这样做了。我的.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/*

我认为这不一定是个好主意......但我已经做到了。

答案 2 :(得分:0)

如果使用codebasehq,则可以设置镜像存储库,以便在更新原始存储库时更新其他存储库。或者,正如Borealid在答案中所说,您可以设置一个同步两个存储库的定期任务。