Я новичок в git и в настоящее время пробую различные комбинации, чтобы понять git.
У меня есть репозиторий с веткой под названием «dev». Сначала я синхронизировал свой локальный компьютер с удаленным. Затем я поменял пульт прямо с Github.
Теперь, если я использую
git fetch origin dev:dev
то я получаю сообщение об ошибке
fatal: Refusing to fetch into current branch refs/heads/dev of non-bare repository
Однако следующая команда pull работает нормально
git pull origin dev
В одном из ответов Stackoverflow упоминалось, что выборка с последующим слиянием эквивалентна git pull.
Если это так, то почему такое несоответствие?
Ссылка на вопрос: понимание git fetch, затем слияние
PS: ответ, предложенный по ссылке ниже в комментариях, правильный. Однако мне было интересно, что
git fetch origin
выборки из всех веток, включая текущую. Тогда зачем выполнять проверку только в случае
git fetch origin master:master
Я не могу понять причину этой проверки. Любая помощь приветствуется.
Спасибо
pull
— это сокращение отfetch
+merge
. Но решающую роль здесь играютdev:dev
аргумента. Пожалуйста, взгляните на этот ответ: stackoverflow.com/a/32561463/2104879 - person mertyildiran   schedule 21.09.2016