Как вытащить удаленную ветку в git без конфликтов?
Есть удаленная ветка, над которой я бы хотел поработать. Он старый, и у меня больше нет его старой копии на моей локальной машине. Это действительно далеко от мастера. Всякий раз, когда я пытаюсь вытащить это, у меня возникают конфликты. Я просто хочу создать точную копию удаленной ветви в моей локальной системе. Почему это приведет к конфликтам?
Я старался:
git pull origin branch_name:branch_name
Это создало новую ветку на моем локальном компьютере с правильным именем, но это привело к конфликтам.
4 ответа
git pull repo branch
в основном сокращение для git fetch repo branch
а также git merge repo/branch
, Я не из тех, кто часто говорит RTFM, особенно с git, но это первая строка документации git-pull. msgstr "git-pull - Выбрать и объединить с другим хранилищем или локальной веткой". Неявное слияние вызывает конфликт. Вы просто хотите fetch
& checkout
как сказал Майкл.
Не могли бы вы просто проверить это?
git checkout branch_name
?
Мне нравится переходить на другую локальную ветку, удалять существующую, куда я хочу потянуть (например , task_branch), и снова менять:
-
git checkout -
// переход на предыдущую ветку или простоgit checkout master
-
git branch -D task_branch
// удалить локальную ветку -
git fetch
// получаем данные с удаленного -
git checkout task_branch
// переходим на ветку с последними изменениями
и, при желании, проверьте, все ли обновлено
git pull