2011-07-29 82 views
5

我們在使用Git漂亮的雛。其實我們喜歡分支的想法;-)但不知何故,都來自於用戶合併只是不關閉支路...GIT - 分支機構不打烊後合併

你可以看一下下面的圖片:http://i54.tinypic.com/297i14.png

有灰色和藍線剛剛直線前進......即使在合併之後......那他做錯了什麼?任何線索?我不想IMAGIN,如果他創造更多的分支,甚至合併後,所有的人都堅持歷史觀點發生了什麼......

非常感謝您!

+0

所以我注意到進一步如下:檢查提交: – Bosh

+0

所以我進一步注意到以下內容:檢查提交:總是有2個相同的孩子或父母.. 。喜歡這裏(2X CSS): 家長:da83bd237192637ddd1824130cfafd68d8e9c352(熊貓舞) 家長:f5c6663c6248dbd79002d0b9b25423cbc90e0380(融雪puppie) 兒童:0ffa08f817ecdbe46cdffe5ae25689cb6ddcb575(CSS) 兒童:0ffa08f817ecdbe46cdffe5ae25689cb6ddcb575(CSS) 兒童:358034839b7f5a9f0de49b812f1f367d526b17e2(合併分支 '主人' 成trtrtr) 其實他的提交是唯一一次同時含有2個牙列的參考文獻......我認爲這確實沒有意義。 – Bosh

回答

3

我不能肯定你通過關閉分支的意思,但我會做出一個猜測:)

它仍然可以使用合併已經完成,即使之後的分支。我想這是每個設計以及它應該如何。例如,即使合併完成後,您可能仍想繼續與分支機構合作,例如爲了繼續專注於該分支機構的開發工作。這就是爲什麼它仍然出現在你提到的圖像中。

如果您不想這樣做,可以在合併後刪除分支,這會在另一分支(如主設備)中發出命令git branch -d <branch>以明確關閉分支。 (這隻會刪除分支,如果它的最新提交與你已經活躍的分支合併在一起,所以不會有丟失數據的風險。)

+0

今天我們將嘗試刪除所有未使用的分支......但是如果它再次發生,我認爲我們應該在這個用戶計算機上重新安裝Eclipse和EGit ... – Bosh

+0

由於它是每個設計,它會再次發生。只要習慣於在完成合並後刪除分支,如果這是您想要的方式。例如,我自己有一個分支,用於測試我與主人之間來回合併的東西,因此從未真正需要刪除該分支。其他的例子是每個開發者分開的分支,他們在那裏做他們的主要開發(當他們完成一個步驟時,然後與主人合併) –

15

當你做一個合併時,新的提交只會向前移動你當前的分支。指向其他分支的分支名稱保留原來的位置。換句話說,如果你有這樣的情況:

A---B---C blue 
\ 
    D---E---F grey 

...做:

git checkout blue 
git merge grey 

最終你會用:

A---B---C---G blue 
\  /
    D---E---F grey 

如果你想刪除grey分支你可以再做git branch -d grey。這不會影響提交圖,只是刪除分支 - 它們就像標籤一樣圍繞提交圖移動。

但是,如果你堅持下去,並創建了greyblue分支機構更多的提交,這些線路將繼續:

A---B---C---G---H---I blue 
\  /
    D---E---F---J---K---L grey 

在您鏈接到圖片,我要認爲有進一步的上方還承諾您顯示的部分或您使用的工具只是奇怪地呈現提交圖。

+0

不,這個分支沒有進一步的提交...這就是奇怪的事情。在沒有提交合並之後直接從該用戶的分支保持打開狀態... – Bosh

+0

在這種情況下,您從中獲得該可視化文件的工具是什麼?如果你能得到它以顯示分支名稱,那麼可能會清除一切 - 分支由它們的提示中的單個提交定義:該提交及其所有祖先在分支上,並且任何「超越」它不是部分分支。 –

+0

我們使用Egit(Eclipse)及其在歷史部分中的可視化.... – Bosh

1

目前的git需要一個「任務」分支的合併和關閉,其中合併名義上指示任務的關閉和分支機構不再需要兩個步驟。

它也許,這將是一個有用的選項,有人能夠刪除一個分支的裁判/頭項,以便在一個步驟關閉一切[作出git的名單的建議?]。不過,我相信很多工作流程都有他們希望回收和整理一些小問題的能力,而早期刪除會讓人感到尷尬。(雖然它會在推薦日誌中顯示一段時間)

給用戶創建別名或腳本的任務來組合這兩個操作。這將有助於全面教育;-)