以下对我没有意义
% 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
以某种方式被破坏了?我无法弄清楚这是怎么发生的。
答案 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
命令