繁体   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