簡體   English   中英

當兩個分支不同但兩個分支中沒有新的提交時,為什么git不會合並更改?

[英]Why doesn't git merge changes when two branches are different but with no new commits in either branch?

例如,

我的主分支里面有東西。 另一個叫做other_branch分支other_branch有東西+ more_stuff。 每個分支都沒有任何提交。

如果我簽出master然后嘗試合並other_branch,git說“已經是最新的”。 沒有任何事情發生。 為什么在這種情況下不會將more_stuff合並為master? 這是git的設計方式嗎?

注意:other_branch是從較早的master提交創建的。

這很簡單。 如果git說“已經是最新的”,這意味着分支機構沒有分歧。 如果至少有一個分支包含另一個分支沒有的提交,則兩個分支已經分歧。

我不確定你的意思是什么東西+ more_stuff在里面。 如果您已將新文件添加到other_branch(或更改現有文件),並使用“git add”和“git commit”,則other_branch歷史記錄將與主分支不同。 由於git表示沒有合並的更改,因此該分支上的歷史記錄沒有變化,即您沒有提交任何內容。

它只發生在您嘗試合並的分支已包含在當前分支中時。

所以,你提到的more_stuff已經在master分支中了。

您可以使用gitk檢查分支的可視樹。

暫無
暫無

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

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