2014-06-16 104 views
0

我有使用git的經驗,但是是Subversion的新手。我的任務是爲我的團隊建立一個存儲庫,但不知道最佳結構應該如何。 (建議我回到git不會在這裏工作,因爲我幾乎堅持顛覆,但我感謝你的忠告!)爲團隊合作設置Subversion

讓我說我有三個開發人員(薩姆,湯姆,鮑勃)在我的團隊,他們每個人都需要自己的分支進行開發(並且他們將自己的分支交給他們自己的分支,以便他們可以跟蹤他們自己的更改和修訂。我認爲這是一個解決方法,因爲Subversion沒有像Git這樣的本地提交功能。在顛覆中提交相當於推入Git。)。之後,他們將他們的改變推向測試和生產。這裏是結構我已銘記在心:

MyProject 
    /trunk 
     /MyProject 
    /branches 
     /Test 
     /Sam 
     /Tom 
     /Bob 
    /tags 

這裏的工作流程: 在一天結束(或白天),所有的開發人員拉離測試分支的更改,然後按自己的變化測試分支並在需要時解決衝突。對於生產更新,MyProject 中繼將與測試分支合併。

讓我們假設開發人員將他們的更改推送到測試分支,以保證合併的嘗試不會導致災難性衝突。

問題:
1.這是一個顛覆團隊項目的好結構嗎?
2.是否有可能將開發人員分支的根目標指向測試分支?所以當點擊VisualSVN/Update時,開發者分支會自動更新到測試分支的頭部。

回答

0

剛(混亂)想

  • /trunk MyProject的是過度的節點(只是因爲倉庫是專門爲MyProject的)
  • 在每個開發商+穩定(主幹)|不穩定(測試)分公司你會得到很多合併(因此 - 可以隨時成爲「合併地獄」的受害者:您可以嘗試避免上下文衝突,但在開發分支之間的雙向合併期間樹衝突等待您)
  • 「End -d AY夢魘「(合併到測試+從測試合併)將需要很強的紀律性和注意力和準確度(和時間)
  • 短時任務(孤提交)‘共享分支’可能會以某種方式更好
  • 」科每個任務「而不是」每個開發人員的分支「給出了更容易理解的存儲庫樹和可管理的開發+發佈(與任務相關的短期分支機構,PM | TL可以隨時監控狀態 - 將其與」永遠「開發人員分支)。但它不會(禁止)禁止使用任何WIP的個人「貨架」
  • 而不是使用中間測試分支進行同步開發人員可能試圖按需使用直接跨分支合併(但無論如何,請參見第2頁)