Рабочий процесс синхронизации ветки разработки с мастером

Я создал ветку dev из основной ветки, а затем добавил несколько коммитов в ветку dev. Теперь я хочу перенести изменения из основной ветки в ветку разработки. Вот шаги, которые, по моему мнению, должны синхронизировать мою ветку разработки с основной веткой:

git checkout master
git pull origin master
git checkout dev
git merge master

Правильны ли вышеуказанные шаги или я делаю что-то неправильно? Пожалуйста, предложите.

Я предполагаю, что это правильно. Когда вы это сделали, был ли результат таким, как вы ожидали?

mkrieger1 26.08.2024 23:37

Вы можете сделать все одной командой: stackoverflow.com/a/53859568/7976758git pull origin master:master

phd 27.08.2024 00:02
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
52
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

То, что вы делаете, работает, но наверняка происходит много напрасных движений.

Если вы используете 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

Мне особенно нравится этот способ высказывания вещей, потому что вы говорите то, что имеете в виду — обновите мою копию удаленного мастера и объедините ее с веткой, в которой я сейчас нахожусь.

Спасибо @matt. Что означает мастер:мастер в команде получения изменений от мастера?

Amit Rastogi 27.08.2024 19:38

См. git-scm.com/docs/git-fetch#Documentation/…

matt 27.08.2024 20:25

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

Похожие вопросы

При отправке тегов в Azure Devops с помощью команд Powershell не задается информация о тегах
Насколько большим может быть репозиторий git в Azure DevOps?
Повлияет ли удаление определенных коммитов из ветки на исходную ветку, из которой они были созданы?
Почему происходит сбой второго рабочего процесса действий Github (вызываемого через «workflow_call»)?
Проблема с Git при переименовании каталога
Несоответствия различий GitHub при сравнении ветки с фиксацией слияния и другой, отменяющей слияние
Как полностью переопределить одну ветку git на другую
Конвейер Azure Devops с дополнительным этапом, запускаемым вручную
Как запретить принудительную отправку только на главную, но при этом разрешить прямую (не принудительную) отправку в репозиториях git Azure DevOps
Как проверить, является ли данный аргумент синтаксически допустимым коммитом или синтаксически допустимым диапазоном изменений?