簡體   English   中英

GIT-合並后分支未關閉

[英]GIT - branches not closing after merge

我們在使用GIT方面經驗不足。 實際上,我們喜歡分支的概念;-)但是以某種方式,所有來自一個用戶的合並都不會關閉分支...

您可以在此處查看圖像: http : //i54.tinypic.com/297i14.png

一條灰色和一條藍色的線一直直達……甚至在合並之后……那么他在做什么錯呢? 有什么線索嗎? 我不想想象如果他創建了更多分支並且即使合並后所有分支仍保留在歷史視圖中會發生什么...

非常感謝你!

進行合並時,新提交只會向前移動當前分支。 指向另一個分支的分支名稱保留在原位置。 換句話說,如果您有這種情況:

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

在您鏈接到的圖像中,我假設要么您所顯示的部分上方還有其他提交,要么您使用的工具只是奇怪地呈現了提交圖。

我不確定關閉分支意味着什么,但我會猜測:)

即使完成合並后,仍然可以使用分支。 我想這是每個設計以及應該如何設計的。 例如,即使合並完成后,您可能仍想繼續與分支合作,例如為了繼續專注於該分支的開發。 這就是為什么它仍顯示在您引用的圖像中的原因。

如果您不想這樣做,可以在合並后刪除分支,這可以通過在另一個分支(例如master)中發出命令git branch -d <branch>來最終關閉它。 (這僅會在分支的最新提交已與您活動的分支合並后刪除該分支,因此不會丟失數據。)

當前,git需要兩個步驟來合並和關閉“任務”分支,其中合並名義上表示任務已關閉,並且不再需要該分支。

對於某些人來說,刪除分支的refs / heads條目將是一個有用的選擇,因此一步關閉所有內容[向git列表提出建議?]。 但是,我敢肯定,許多工作流程中都有一些實例,他們希望它們能夠返回並整理一些小問題,而這些問題如果過早刪除會很尷尬。 (盡管它會在reflog中保留一段時間)

向用戶提供創建別名或腳本以結合這兩種操作的任務。 它將幫助全面的教育;-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM