2010-11-06 70 views
1

我目前是我網站開發團隊的負責人(3人),我們正在研究如何將git整合到我們的日常工作流程中。git setup for small startup

一些要求:

  1. 該網站必須有1個主回購協議。承諾此回購的所有內容必須僅由我批准。
  2. 每個人都在自己的電腦上工作。他們將需要從「主要回購」做出更改,然後解決衝突,如果他們想推動

假設我的團隊中有3人,A(我是btw),B和C. ,我想出了一個可能的解決方案(但那種的hackish和整個慢):

  1. 將有以下回購:REPOSA,reposB,REPOSC和reposMain
  2. 當B想要啓動工作,B從reposMain撤回到reposB,在reposB上工作,並承諾reposB。
  3. 所以當reposB認爲這是很好的,但合併是new_branch到reposB的主人,並告訴我ssh到reposMain和reposB拉/ new_branch到reposMain/reposB_branch

  4. 所有的衝突拉到reposB_branch本來如果我喜歡它,我會將它合併到reposMain的主人

  5. 當他們開始工作時,每個人都會從reposMain中撤出。

對於此設置,我需要做reposMain下載(讀)我所有的球隊,但使其不寫他們(可以使用chmod來完成)。唯一的缺點是,這是一個非常黑客的解決方案,並要求我明確ssh進行reposMain並進行合併等。

是否存在您在此工作流程中看到的任何錯誤/問題? 有沒有比這更好的解決方案?

回答

2

對於您的機器,您將使用git remote add告訴所有回購的git。如果有人希望您納入更改,則可以執行git fetch reposB,檢查更改,並在git merge reposB的狀態下執行更改。一旦準備好在你的電腦上,你就會做git push發送到共享回購。不應該需要做任何明確的SSH。

有關更深入的討論,請參見Chapter 3 of the Git community book

+0

thx聽起來真的很整齊。 – disappearedng 2010-11-06 03:41:11

+0

快速提問:如果是這種情況,那意味着我必須創建一個git帳戶,其中1)它具有讀取我的回購的權限,2)但不能寫入我的回購協議。這種配置是否安全?用戶B是否會直接從reposA中取出reposMain? (因此我可以消除reposeMain的存在?) – disappearedng 2010-11-06 04:02:28

+0

我假設你會使用git通過ssh寫作(最初告訴git關於其他回購時指定)。對於只讀,你可以使用git服務器(使用'git://'協議)。如果您願意,您可以讓其他用戶引用您的存儲庫並省去單獨的主服務器。 – 2010-11-06 04:08:49

4

是否存在您在此工作流程中看到的任何錯誤/問題?

呃,你對同事的信心不足?鑑於這是一家「小型創業公司」,我並不真正瞭解您需要親自審查每一項承諾,但即使將其視爲一項承諾,僅僅告訴他們承諾的承諾政策是不是足夠了?

我對顛覆的更加熟悉可能會使我偏向於這裏,但我認爲如果你們三個都能寫回購回的話會更實際一些。通常你會通過站在他們的肩膀上進行代碼審查,並讓他們在盯着屏幕的時候穿過它。如果它看起來不錯,你只需要它們在那裏和那裏提交它。

而且,他們可能會發現並修復代碼中的錯誤,如果你讓他們!

+0

I認爲你在那裏有一些偏見。即使顛覆,我相信不讓所有人直接致力於官方穩定的主幹(或者其他所謂的)是很常見的。這是同樣的限制 - 不要讓每個人都推到中央回購的主分支。沒有必要給他們寫入中央倉庫的權限,因爲他們可以在自己的倉庫中工作(與顛覆不同)。 – Cascabel 2010-11-06 04:41:13