如题:一个项目分别提交到两台不同的服务器上,如何实现两个仓库之间的同步? 比如 A 仓库项目克隆地址:[email protected]/user/a.git B 仓库项目克隆地址:[email protected] /user/a.git 怎么设置才能实现项目提交后两个仓库之间能够自动同步
是要实现一条 git push 命令同时把 change 推送到两个 repo 吗?
git push
#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