2016-10-03 343 views
2

如果這對一些人來說似乎很簡單,我很抱歉,但我仍然對GIT感到滿意。我認爲一切都很好。我會創建一個分支,進行編輯,然後合併回主。GIT合併後我仍然有老分支

然後有一天我檢查,那裏還有兩個老分支。我試圖再次合併它們,但合併後我仍然可以看到它們。我花了一些時間試圖弄清楚,但不能。在這裏,他們是,仍然活躍:

enter image description here

在合併工具,它說「沒有提交不同」的這兩個分支。 enter image description here

任何人都可以提供任何想法,爲什麼他們仍然存在,以及如何正確合併它們(或沒有他們出現了)?我擔心如果我繼續解決這個問題,我可能會失去工作。

回答

5

合併分支後,分支不會被刪除。你必須是手工做的:

git branch -d my_branch_name

如果分支尚未合併它會提示你使用-D,而不是-d

+0

謝謝/ U/Zarwan。非常感激。我想問一個問題是我應該刪除它們還是將它們留作「以防萬一」?我應該遵循一般的經驗法則嗎? – robster

+1

通常在合併後刪除它們。如果你通過pull請求合併,GitHub會提示你。這是安全的,因爲你可以隨時恢復提交。 @robster – Zarwan

-1

沒錯,Git merge意味着:將你的分支合併到另一個分支中。

混帳合併your_branch主

這COMMANDE不刪除你的分支。所以要刪除你的分支;使用:

的Git分支-D your_branch

https://git-scm.com/docs/git-merge

+0

'-D'覆蓋了不應該在此覆蓋的完整性檢查。在Zarwan的回答中使用'-d'。 – hvd

2

分支僅僅是一個指針一定的承諾。你可以擁有儘可能多的數據,合併它們當然不會刪除它們,就像合併提交不會刪除提交一樣。這實際上是一些項目選擇的發展策略,或者說足夠接近(1,2,3)。在這些文件中,多個分支並行運行,並定期合併在一起。

一旦你完成你的分支上工作,並已成功地合併了,你可以用

git branch -d branch_name 

刪除它@Zarwan指出。直接使用-D這是危險的,因爲您不會被提示確認分支是否未成功合併。所以,更喜歡使用-d,除了在一些罕見的場合。

如果你談論的是一個遙遠的分支,以正確的方式(有很多其他的文檔頁面專用於這個主題),刪除它是執行:

git push remote_name :branch_name 

主要推空物體的branch_nameremote_name(如果你克隆它,可能是origin)。

+0

非常感謝您對MayeuIC的詳細解釋。非常感謝。我已經按照我的要求刪除了它們,從現在開始,我一定會正確刪除它以保持整潔。再次,謝謝。 – robster

0
  1. git checkout master
  2. git branch -d *branchname*