2012-10-30 23 views
16

我對Git很陌生,已經閱讀了Pro Git的書籍@http://git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging。我的問題是,如果我今天所做的是使用生產服務器和遠程Git倉庫的首選方式。「合適」的方式將git「production branch」拉到生產服務器

我有我的回購託管在GitHub上,使用三個遠程分支:開發 - >測試 - >主。

每當「測試」分支已被驗證可以正常工作時,本地有git merge'主''測試'(快進?),並且git push'主'給GitHub。

在生產服務器上(/opt/www/url.com/)我做:

git init 
git remote add origin https://github.com/..... 
git pull origin master 

現在,每次我想要更新的主我發出了一個git pull

git pull origin master 

生產絕不會將任何更改推送到遠程。並且本地更改不會發生。我是否正確?如果不是,那麼更新生產的最佳方式是什麼?

編輯#1:我不想管理生產服務器上的任何衝突,這是我現在面臨的(不知何故,我做了一些錯誤的事情)。我只是想拉下最新的主分支,然後切換到它。

回答

12

你應該使用:

git init --bare 

要初始化回購,不會有一個工作的樹,這意味着不會有衝突。

+3

它爲什麼被低估? –

+0

這是個好問題@AlainANDRE –

+0

如果生產服務器沒有存儲庫的工作副本,它將如何工作? – starbeamrainbowlabs