Git Git 如何实现两个仓库之间进行同步

yutian · September 01, 2014 · Last by yutian replied at September 03, 2014 · 29563 hits

如题:一个项目分别提交到两台不同的服务器上,如何实现两个仓库之间的同步? 比如 A 仓库项目克隆地址:[email protected]/user/a.git B 仓库项目克隆地址:[email protected] /user/a.git 怎么设置才能实现项目提交后两个仓库之间能够自动同步

是要实现一条 git push 命令同时把 change 推送到两个 repo 吗?

#1 楼 @loveky 不是同时 push 到两个 repo 中 是提交到任意一个 repo 中,这个 repo 和另外一个同步 不知 git 仓库是否支持这种操作

自己写个一个钩子就可以了 http://git-scm.com/book/en/Customizing-Git-Git-Hooks

不过我觉得最好还是同时 push 到两个服务器比较好

[remote "xxxxx"]
        url = [email protected]:111111/abc.git
        url = [email protected]:222222/abc.git

#3 楼 @Peter 谢谢回答 了解过在服务器端 hooks 目录写钩子实现,升级到了最新的 git 好像默认没有 post-receive 这个钩子,另外,想如何在钩子里面实现克隆出代码推送到新的服务器地址

其实我是想实现代码提交后项目自动部署到测试机的(以前通过钩子实现了),现在升级了 Gitlab7.2,安装起来方便了但是 ruby 的环境变量找不到,考虑通过把代码推送到另外的有 rvm 环境的机器,让另一个库的钩子实现自动部署。

使用 sync 同步两个版本库可以不?

#5 楼 @moyuanming 不考虑代码合并的话是个不错的注意,不过这个命令不是我想要的,想通过 push 之类的命令触发 hooks 下的 post-receive

You need to Sign in before reply, if you don't have an account, please Sign up first.