同步两个远程GIT仓库的最佳方法

3
我们在stash中有一个内部远程仓库和一个用于第三方顾问的github代码库。我们尝试每天将"Atlassian Stash"中的代码库与GitHub中的代码库同步。我遵循的过程是使用set url将远程更改为github,从github(我想要的分支)拉取到我的本地目录,然后我再次将远程更改为"stash"并从我的本地目录将更改推送到那里。这是一种好的方法还是有更好的方法?

1
你可以使用服务器端钩子来自动完成相同的事情。http://git-scm.com/book/zh/v2/自定义-Git-Git-钩子#_服务器端钩子 - Matt Ball
在您的上下文中使用“stash”这个术语可能会令人困惑,因为有一个命令git stash通常被简写为“stash”。 - g19fanatic
3
为何不直接设置两个远程仓库(一个指向内部“远程”仓库,另一个指向你的 Github 仓库)... 没必要每次 push/pull 都通过 set-url 来更改位置。 - g19fanatic
可能是git pull和git push的不同默认远程(跟踪分支)的重复问题。 - Benjamin Bannier
2个回答

1
如@g19fanatic所说,无需不断更改远程URL。只需
git pull <name of stash remote>
git push <name of github remote>

你需要两个单独的远程控制器来完成此操作;如果需要,可以使用git remote add添加第二个控制器。

谢谢您的评论,那么在将其推送到 GitHub 远程之前,我是否也应该添加并提交,还是它会自动合并? - vkaul11
@vkaul pull 操作包括一个 merge 步骤。在“push”它们之前不需要添加和提交您刚刚“pulled”的文件。 - gcbenison

1

你可以使用hook来实现这个。

当第一个仓库触发post-receive时,你可以将其推送到第二个仓库。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接