Как вытащить удаленную ветку в git без конфликтов?

Есть удаленная ветка, над которой я бы хотел поработать. Он старый, и у меня больше нет его старой копии на моей локальной машине. Это действительно далеко от мастера. Всякий раз, когда я пытаюсь вытащить это, у меня возникают конфликты. Я просто хочу создать точную копию удаленной ветви в моей локальной системе. Почему это приведет к конфликтам?

Я старался:

git pull origin branch_name:branch_name

Это создало новую ветку на моем локальном компьютере с правильным именем, но это привело к конфликтам.

4 ответа

Решение
git fetch origin
git checkout -b newoldbranch oldoldbranch

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

Другие вопросы по тегам