2012-12-22 75 views
198

我有兩個分支:masterbranch1。我剛剛合併branch1master,我完成了該分支。我應該刪除它還是讓它坐下來?刪除它會導致數據丟失嗎?合併後如何處理分支

+0

另請參見:[如何使用git merge --squash?](http://stackoverflow.com/q/5308816/562769) –

回答

253

合併後,就可以安全地刪除分支:

git branch -d branch1 

此外,git會提醒你(並拒絕刪除分支),如果它認爲你並沒有完全合併它。如果您強制刪除尚未完全合併的分支(使用git branch -D),則必須執行一些技巧才能獲得未提交的提交(請參見下文)。

雖然有一些理由保持分支。例如,如果它是一個功能分支,那麼您可能希望能夠對該分支中仍然存在的功能執行錯誤修正。

如果您也想刪除一個遠程主機上的一個分支,可以這樣做:

git push origin :branch1 

這將有力地刪除遠程分支(這不會影響已經簽出的存放區,但並韓元阻止任何具有推送訪問權限的人重新推送/創建它)。


git reflog顯示最近簽出的修訂版。您在最近版本庫歷史記錄中籤出的任何分支也會顯示在那裏。除此之外,git fsck將成爲任何git失敗案例的首選工具。

+0

如果你想保存分支,你可以在刪除它之前創建一個標籤。如果您想回到那個位置,您可以檢出該標籤。 – Joqus

+3

@Joqus我寧願建議在這種情況下保持它作爲一個分支。只是不要發佈它。 –

18

我的所有分支都以Fix/fix-或Ftr/ftr-等形式命名。使用Tower作爲我的git前端,它將所有Ftr /,Fix /,Test /等整理到文件夾中。一旦我完成了一個分支,我將它們重命名爲完成/...-這樣方式仍然存在(這可以方便地提供歷史記錄),我總是可以回頭知道它是什麼(功能,修復,測試等)。 。)