Получить изменения от мастера к ветке в Git

В моем репозитории у меня есть ветвь с именем aq, над которой я работаю.

Затем я совершил новую работу и ошибки в master.

Каков наилучший способ получить эти коммиты в ветку aq? Создайте еще одну новую ветвь из master и объедините ее с помощью aq?

Ответ 1

Проверьте ветвь aq и переустановите ее из master.

git checkout aq
git rebase master

Ответ 2

Вы должны иметь возможность просто git merge origin/master, когда находитесь на своей ветке aq.

git checkout aq
git merge origin/master

Ответ 3

Сначала проверьте мастер:

git checkout master

Выполняйте все изменения, исправления и совершите и нажмите своего мастера.

Вернитесь к своей ветке, 'aq' и объедините мастер в ней:

git checkout aq
git merge master

Ваша ветка будет обновлена ​​с помощью мастера. Хорошим и основным примером слияния является 3.2 Git Ветвление - основное ветвление и слияние.

Ответ 4

Нет гарантии, что основные исправления ошибок не входят в число других коммитов, поэтому вы не можете просто объединить. Есть

git checkout aq
git cherry-pick commit1
git cherry-pick commit2
git cherry-pick commit3
...

при условии, что эти коммиты представляют исправления ошибок.

Отныне храните исправления ошибок в отдельной ветке. вы сможете просто

git merge hotfixes

когда вы хотите свернуть их все в обычную ветку разработки.

Ответ 5

Либо cherry-pick соответствующая транзакция берется в ветвь aq или объединяет ветвь master в ветвь aq.

Ответ 6

Объедините его с aq

git checkout master
git pull
git checkout aq
git merge --no-ff master
git push

Ответ 7

Простой способ

# 1. Create a new remote branch A base on last master
# 2. Checkout A
# 3. Merge aq to A

Ответ 8

Для меня у меня были изменения уже на месте, и я хотел получить последние данные из базовой ветки. Мне не удалось выполнить rebase, а cherry-pick - навсегда, поэтому я сделал следующее:

git fetch origin <base branch name>  
git merge FETCH_HEAD

поэтому в этом случае:

git fetch origin master  
git merge FETCH_HEAD

Ответ 9

У вас есть пара вариантов. git rebase master aq на ветку, которая будет хранить имена фиксации, но НЕ РЕБЕСС, если это удаленная ветвь. Вы можете git merge master aq, если вам не нужны имена фиксации. Если вы хотите сохранить имена фиксации, и это удаленная ветвь git cherry-pick <commit hash>, она берется за вашу ветку.

Ответ 10

Это (отсюда) работает для меня:

git checkout aq
git pull origin master
git push

Цитирование:

git pull origin master извлекает и объединяет содержимое мастера ветвь с вашей веткой и создает коммит слияния. Если есть какие-либо конфликты слияния вы будете уведомлены на этом этапе, и вы должны решить слияние совершается перед продолжением. Когда вы будете готовы выдвинуть локальные коммиты, включая ваш новый коммит слияния, на удаленный сервер, запустить git push.