获取后立即“分支......未完全合并”

时间:2013-03-07 18:15:56

标签: git github

以下对我没有意义

% git clone $REPO_URL --branch dev wd
% cd wd
% git fetch origin master:master
From github.com:ghuser/someproj
 * [new branch]      master     -> master
% git branch -d master
error: The branch 'master' is not fully merged.
If you are sure you want to delete it, run 'git branch -D master'.

请注意,在从远程仓库获取git branch -d master分支后,立即发生的master命令上会出现上述错误消息。这是否意味着origin以某种方式被破坏了?我无法弄清楚这是怎么发生的。

2 个答案:

答案 0 :(得分:7)

一个分支(称之为A,在你的情况下将是'master')被认为是“完全合并”到当前检出的分支(称之为B,将是'dev'in你的情况)如果A的[尖端]是B的祖先。

因此,您获得的错误与您克隆回购或获取时的方式无关。它只是意味着'master'具有尚未包含在当前分支'dev'中的提交。

答案 1 :(得分:6)

警告

branch is not fully merged

在您尝试删除的分支未合并到另一个分支时出现。

。此警告可以帮助您在合并之前删除分支及其更改,这样您就不会丢失更改。

在您的情况下,看起来您的计算机中没有分支“master”,因为您收到了消息

* [**new branch**]      master     -> master

所以当你下载分支master时,你dev然后你尝试了git branch -d master但是因为它没有从开发者的角度合并而得到了消息

使用gitk --all,您可以看到整个树,在那里您将看到分支主文件如何不合并到另一个树中。因此消息。

如果您仍想删除它,只需使用-D命令