2013-02-10 47 views
2

這個問題真的在分支和合並。我剛剛在上週開始討論git,我非常喜歡它,但我有一些問題。我讀的所有內容都告訴我永遠不要在主分支中工作。所以,在我做任何編程修改之前,我都會創建一個新的分支並完成我的工作,然後我將它合併回主服務器......我不知道這是否正確,所以我想聽取其他人的意見。你如何在現實世界中使用GIT?

但我怎麼處理的代碼將分期和生產的?我只是在主人中標記代碼,還是爲每個版本製作生產分支?

請可有人請告訴我如何處理你的代碼移動到分期,測試和生產工作......你使用標籤或分支機構或兩者兼而有之。

回答

4

有很多車型在那裏:你需要的是你的版本控制設置可以是簡單或者複雜。這裏有一個流行的方法:http://nvie.com/posts/a-successful-git-branching-model/

我個人使用一個新的分支爲每個特性/錯誤,然後合併到主像你一直在做。然後簡單地標記生產版本,其臨時服務器運行在主服務器上。

如果你需要更復雜的東西,你可以做類似上述的Git流技術,它具有的版本分支等,但如果你不需要它,那麼你沒有做到這一點。

+0

Thannks ChirsC,但我可以問你有關製作和回滾的發佈。在你融入主人之後,你是否在生產代碼上加了一個標籤?如果是的話,你如何標籤,基於標籤等 – techsjs2013 2013-02-10 15:01:23

+0

我不會標記,只要我合併回主,就在我準備發佈時。例如如果我正在研究2個特性,每個特性都在自己的分支中,並且我想在兩個特性完成後發佈,我將完成特性1,合併到主特性,然後完成特性2並將其合併爲主,然後標記。有關標記的信息,請參閱http://git-scm.com/book/en/Git-Basics-Tagging:我通常會創建一個帶註釋的標記,git將標記推送到回購(例如GitHub),然後git獲取並生產服務器上的git checkout標籤。或者,您可以將生產服務器作爲遠程服務器並推送給它。 – ChrisC 2013-02-10 15:10:36

0

不要忘記分佈式版本控制系統的另一個維度:

你不必只是標記和分支,具有workflow of merges管理促進一起發佈管理過程你的代碼,你也有出版orthogonal feature(推/跨存儲庫拉)

所以沒有什麼可以阻止你推某個標籤(從你想要的任何分支)到專用UAT,爲了坐或督促預回購協議在將其發佈到生產之前進行測試。
注意,生產方面可以很好地從它的過程中排除混帳,以保持必要的東西來運行和監視應用程序,保留的git爲應用程序開發生命週期。請參閱「Using git below web root in production」。