9 ответов:
вы должны быть в состоянии просто
git merge origin/masterкогда вы находитесь на своей ветке aq.git checkout aq git merge origin/master
сначала проверьте, чтобы освоить:
git checkout masterсделайте все изменения, исправления и фиксации и нажмите свой мастер.
вернитесь в свою ветку, 'aq', и объедините мастер в ней:
git checkout aq git merge masterваша ветка будет обновлена с мастером. Хорошим и основным примером слияния является 3.2 Git ветвление-основное ветвление и слияние.
нет никакой гарантии, что основные исправления ошибок не находятся среди других коммитов, поэтому вы не можете просто объединить. Делай
git checkout aq git cherry-pick commit1 git cherry-pick commit2 git cherry-pick commit3 ...предполагая, что эти коммиты представляют исправления ошибок.
С этого момента, хотя, держите исправления ошибок в отдельной ветке. Вы сможете просто
git merge hotfixesкогда вы хотите свернуть их все в обычную ветку dev.
независимо от того, что rebase или merge является правильным, но что делать, если у вас есть несколько коммитов в вашей ветке aq, rebase или merge будет содержать другие изменения людей при отправке запроса на вытягивание, или что делать, если сквош коммитов в один коммит, поэтому я думаю, что у меня есть способ (не лучший способ, но очень безопасный и понятный)
# 1. Create a new remote branch A base on last master # 2. Checkout A # 3. Merge aq to A
для меня, у меня были изменения уже на месте, и я хотел последнюю из базовой ветви. Я не смог сделать
rebaseиcherry-pickзаняло бы целую вечность, поэтому я сделал следующее:git fetch origin <base branch name> git merge FETCH_HEADтаким образом:
git fetch origin master git merge FETCH_HEAD
у вас есть пара вариантов.
git rebase master aqна ветку, которая будет хранить имена фиксации, но не перебазировать, если это удаленная ветка. Вы можетеgit merge master aqЕсли вы не заботитесь о сохранении имен фиксации. Если вы хотите сохранить имена фиксации, и это удаленная ветвьgit cherry-pick <commit hash>фиксация на вашей ветке.
Comments