2012-05-18 85 views
0

我有我的开发机器,我开发的代码,我的服务器机器,我的主机和我的中央git回购机器。我怎样才能推到两个回购在同一时间

从我的开发机器中,我该如何推送并同时自动更新中央回购和服务器机器?

我应该推送到服务器,并有一个服务器后操作推送到服务器,如果是这样,我该怎么做?

+0

如果问题是如何在裁判一次SO推到多个遥控器,[这样运行它答案](http://stackoverflow.com/a/3195446/215168)应该覆盖它。 –

回答

1

由于git中没有内置的“后推”钩子,一种简单的方法可以将某个分支指定为“生产”分支(通常主分支用于该目的),然后创建一个部署脚本(例如git-deploy.sh),它将从服务器上的主分支中获取最新的代码。然后,你可以创建一个git的别名是这样的:

git config alias.xpush \!git push origin master && git-deploy.sh 

然后你就可以使用

git xpush 
+0

谢谢,听起来不错!问题是,如果我的开发机器是Windows,除了在脚下射击自己,我该如何改变这个命令?我在Windows上使用git bash,所以它仍然可以执行.sh脚本? – user391986

+0

在Windows上,您只需创建一个'.bat/.cmd'脚本,使用'at.exe','psexec.exe'或powershell在远程服务器上执行部署(基本上是'git pull origin master')。 Git命令将保持不变,除了脚本文件的实际名称。 – BluesRockAddict

+0

git bash *是一个bash,所以你可以在那里使用bash脚本。 – ThiefMaster