我有分支机构
git branch -d some_branch
返回
branch 'some_branch' is not fully merged.
但是
git diff ...some_branch
是空的。
换句话说,(据我所知)," some_branch"中没有任何变化。我现在没有。但它并没有完全合并,而是#34;。
我是否正确假设这可能发生的唯一方法是当前分支的重组?在这种情况下,可能存在历史的分歧,但没有对代码的不同意见。
此外,这似乎总是故意行为的结果。
因此,如果git diff ...some_branch
为空,我应该始终安全地删除分支。这是对的吗?
答案 0 :(得分:3)
当git抱怨“未完全合并”时,它正在讨论提交的关系,而不是关于文件的内容。
如果你有一个基本提交,并且在这两个不同的提交之上引入相同的更改,那么两者之间的差异是空的。但是你的分支却有“两个头”,因此“没有完全合并”。
-- A -- B
`-- B'
在您的情况下,当您的上游负责人位于B
时,您的本地负责人可能会在B'
。
如果删除本地分支,则本地提交将不会成为上游历史记录的一部分。因此,提交及其所有元数据(如作者,日期......)将丢失。 - 这就是警告的原因。