2011-01-28 6 views
9

Я разветвлялся от мастера и создал ветку с именем extra_work. Затем я внес много изменений в мастер, который включал удаление некоторых файлов. Позже, когда я попытался объединить ветвь «extra_work» в мастер, она не сливает ее полностью. Это не добавление файлов, которые я удалил в мастер, в основном всю работу, которую я отменил, теперь я хочу, чтобы она вернулась в моего хозяина. Как объединить эти две ветви так, чтобы все дополнительные файлы/работа из моей ветки extra_work слились в master. СпасибоGit Merge - Не слияние всех изменений с удаленной веткой

ответ

1

Я столкнулся с той же проблемой совсем недавно, делая большой рефакторинг. Я решил проблему, выполнив git rebase, от master, переустанавливая на extra-work. Я не полностью понимаю все это, но слияние пошло ужасно (как вы это переживали), но перестановка в этом конкретном направлении была очень простой. См. Git book о перезагрузке: http://book.git-scm.com/4_rebasing.html

12

Восстановить extra_work ветвь против master. Это перемотает ваш ветвь extra_work в состояние, когда вы разветвите, и примените фиксации от master до extra_work. Затем он воспроизведет все фиксации от extra_work обратно на себя. Если вы проверите git log, после этого вы увидите фиксации от master еще в истории филиала. Затем вы можете без проблем слить на master.

git rebase master 
+1

лучший (т. Е. Простейший) пояснение rebase Я слышал. веселит. –

+0

Ребазы - это то, как изменения должны проходить от вершины иерархии вниз, а слияния - как они возвращаются вверх. https://www.derekgourlay.com/blog/git-when-to-merge-vs-when-to-rebase/ – CrandellWS

Смежные вопросы