«Ветвь … не полностью слита» сразу после извлечения

Для меня нет смысла

% 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 повреждено каким-то образом? Я не могу понять, как это произошло.

Предупреждение

 branch is not fully merged 

приходит, когда ветка, которую вы пытаетесь удалить, не объединяется в другую. Это предупреждение избавляет вас от удаления ветки и ее изменений до того, как вы их объедините, чтобы вы не потеряли свои изменения.

В вашем случае это похоже, что у вас не было «мастера» филиала на вашем компьютере, так как вы получили сообщение

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

Поэтому, когда вы загрузили master ветки, где вы на dev а затем вы попробовали git branch -d master но поскольку он не был объединен с точки зрения dev, вы получили сообщение

С gitk --all вы можете увидеть все дерево, и там вы увидите, как мастер ветки не сливается в другой. Отсюда и сообщение.

Если вы все еще хотите удалить его, просто используйте команду -D

Ветвь (назовите ее A , будет «master» в вашем случае) считается «полностью объединенной» в текущую проверенную ветвь (назовем ее B , будет «dev» в вашем случае), если [кончик] A предка Б.

Таким образом, ошибка, которую вы получаете, не имеет никакого отношения к тому, как вы клонировали репо или когда вы набрали. Это просто означает, что «хозяин» имеет фиксации, которые еще не содержатся в вашей текущей ветке «dev».