Я создал ветку dev из основной ветки, а затем добавил несколько коммитов в ветку dev. Теперь я хочу перенести изменения из основной ветки в ветку разработки. Вот шаги, которые, по моему мнению, должны синхронизировать мою ветку разработки с основной веткой:
git checkout master
git pull origin master
git checkout dev
git merge master
Правильны ли вышеуказанные шаги или я делаю что-то неправильно? Пожалуйста, предложите.
То, что вы делаете, работает, но наверняка происходит много напрасных движений.
Если вы используете dev
, нет необходимости переключаться обратно на master
, просто чтобы обновить master
(а затем снова переключаться на dev
, чтобы слиться с ним). В вашей ситуации было бы достаточно сказать (на dev
):
git fetch origin master:master
git merge master
Но я бы пошел еще дальше. Если, как это обычно бывает, единственная цель главной ветки — предоставить вам и вашим коллегам место для слияния с помощью PR на удаленном конце, тогда вам не нужен локальный главный филиал на удаленном конце. все. Удалите его:
git branch -D master
Теперь ваш процесс обновления dev
будет выглядеть так:
git fetch
git merge origin/master
Мне особенно нравится этот способ высказывания вещей, потому что вы говорите то, что имеете в виду — обновите мою копию удаленного мастера и объедините ее с веткой, в которой я сейчас нахожусь.