Подтвердить что ты не робот

Git checkout -b, ветвь уже существует

Когда я объединяю две ветки, и они не могут быть объединены автоматически, Github предоставляет следующие инструкции:

Шаг 1: Из вашего репозитория проекта внесите изменения и протестируйте.

git fetch origin
git checkout -b master origin/master
git merge develop

Шаг 2. Слияние изменений и обновлений в GitHub.

git checkout develop
git merge --no-ff master
git push origin develop

Но в этом случае ветвь master уже существует локально, а строка git checkout -b master origin/master возвращает это сообщение:

git checkout -b master origin/master
fatal: A branch named 'master' already exists.

Правильно ли в этом случае заменить эту строку на git checkout master? Некоторое время я задавался этим вопросом, немного беспокоясь о том, что может сделать git checkout master в отличие от -b.

4b9b3361

Ответ 1

Если master не существует, то после этой строки

git checkout -b master origin/master

master будет ветвью, указывающей на ту же фиксацию, что и origin/master.

Если у вас уже есть ветвь master, она может быть устаревшей с origin/master, поэтому просто пишите

git checkout master

недостаточно. Вы также захотите запустить

git merge origin/master

чтобы обновить master (обычно это будет просто перемотка вперед).