2013-10-25 83 views
2

我曾在不同的團隊工作,並且在一個團隊中,人們在合併後傾向於清理舊分支。在其他團隊分支永遠留下。刪除/保留舊分支的好處是什麼?它取決於我們使用的源控制系統? (在我的情況 - SVN)。最佳實踐:清潔或不清潔舊分支

回答

2

答案可能取決於您使用的版本控制系統。例如,如果您使用Git,那麼您不應該嘗試刪除任何分支,因爲分支系統和方式提交和推送歷史記錄被處理(取決於分支)與SVN不同。

但是,一般來說,我傾向於保留舊的分支,而不是刪除它們。在我工作過的專業地方,他們也傾向於保留分支。在我看來,保持分支不僅爲您提供代碼歷史記錄,還有:

  • 失敗的嘗試歷史記錄。你以後可能會考慮做一些以前失敗的事情。如果你保留失敗的分支,你將能夠理解爲什麼它失敗了。
  • 這些分支中可能存在好的可重用代碼。有時候,當主要的穩定分支結束丟棄很多代碼時,爲這個分支開發的好的代碼也可能最終在垃圾中出現。但是,在開發的後期階段,其他一些情況下可能會證明這些代碼有用。那麼,爲什麼要重新發明輪子?
  • Spinoff項目。在大型項目中,某些時候分支機構包含的功能並未成爲最終產品。從這些特點來看,可能會有一些新的想法可以自己形成一個獨立的項目。
  • 證明。讓我們面對現實吧,在公司,特別是大公司中,在提交代碼時需要考慮管理問題。例如,在查看代碼歷史記錄時,您可以立即看到誰犯了錯誤或好的代碼,並避免誤解。我知道這聽起來很憤世嫉俗,但有時它爲人們節省了很多麻煩。

一般來說,它的歷史。爲什麼要刪除分支機構,以提醒您發展到目前爲止的發展路徑?我懷疑它會對磁盤空間產生重大影響(在大多數情況下,至少在其他情況下,它可能會產生很大的影響,但公司在實際上成爲問題之前應該先關心空間問題)。分支機構代表着數千人的工作時間。刪除它們就好像你拋棄了這段時間。

就廢棄分支而言,除了節省空間之外,我想不出任何其他理由。

1

簡單...只要你願意,你可以追蹤追蹤,如果你有的話。 在我的情況下,它也是SVN。我使用不同的標籤將它們歸檔並將其移動到不同的文件夾。因此,總是有一個熱文件夾(Live)與並行開發分支,一旦合併完成,就歸檔分支。

+0

+1爲「不同的文件夾」的想法。 – nyxz