2013-10-21 80 views
5

我們的團隊最近搬到了Git。我被燒了幾次,因爲我的鱈魚最終沒有像我想要的那樣進入開發分支。從那時起,我已經停止刪除我每天處理代碼的分支,以防我稍後需要這些分支。Git:保存舊分支

我現在有很多分支,我不想每天在SourceTree中查看。不過,我仍然想保存這些分支以防萬一。有什麼方法可以保存我的舊分支,但將它們放在一邊以免污染我的Git存儲庫?

+3

可能重複的[我如何存檔git分支?](http://stackoverflow.com/questions/1307114/how-can-i-archive-git-branches) – CharlesB

+0

是的,雖然我認爲推動到一個檔案回購,所以你可以刪除當地的分支是更好的答案,因爲我的錢多餘的標籤比多餘的分支更加痛苦。 – jthill

回答

3

分支機構在那裏,如果你想繼續發展和發展該分支機構。如果情況並非如此,並且您只將分支保留爲「書籤」,則應該使用標籤(並刪除分支)。

那樣,git branch -a看起來更乾淨。如果有一天你想回頭看看這個分支是怎麼樣的,你總是可以簽出標籤,並最終根據該標籤重新創建一個分支。

0

我能想到的一件簡單的事情就是看看你是否可以用不同的視圖配置SourceTree - 一個只顯示活動分支,另一個顯示所有分支。

編輯:這仍然會顯示已合併到活動分支中的所有分支。如果在活動分支視圖中有很多舊分支,我會質疑是否需要保留它們。 Git會記錄所有導致活動分支的提交,包括合併。因此,如果你想要保留舊分支的原因是要看看引入了錯誤的位置,那麼你很幸運。只需刪除所有這些分支並使用git bisect。但是,如果您希望他們周圍的原因是爲了標記版本,那麼我建議您查看git flow

我建議這樣做的原因是分支的數量不是git的問題,而是給你。如果那些舊分支從你的存儲庫中消失,他們就不會打擾你。他們不會以任何方式減慢git。你也想歸檔它們的事實告訴我你可能想回來看看它們。所以只需在你的倉庫的兩個視圖之間切換。

我還沒有廣泛使用SourceTree,所以我不知道它是否支持不同的視圖。我知道gitk的確如此:gitkgitk --all。我希望SourceTree也這樣做。

希望這會有所幫助。

0

在我的工作流程我刪除分支機構,git -d branchname 這將拒絕刪除該分支如果沒有合併到另一個分支(至少在我的Git版本,也許你需要更新?),如果確實如此soso,我保留分支以備後用。

如果我確定我想徹底擺脫一個分支,我使用git -D branchname,它不會抱怨未被合併。

0

這似乎仍然是一個偏好問題。我更喜歡保留這些分支,以便通過查看git日誌,我可以輕鬆地回答「爲什麼代碼在一週前分支」的問題,而無需讀取所有提交消息並試圖瞭解將它們組合在一起的內容。