2012-05-18 84 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