2016-09-15 2 views
0

У меня есть репо GitHub, которое начало свою жизнь только с веткой master, и я нажал на нее кучу кода. Затем я создал ветку development (через git checkout -b development) локально на моей машине и нажал ее (через git push origin development), но никаких изменений к ней не было, кроме создания (значения master и development были теперь идентичны).Слияние нескольких главных ветвей друг с другом по git/GitHub

Другой разработчик был должен создать fizzbuzz функции ветвь прочь development ветви, но вместо этого создал его из master (который был до настоящего времени). Теперь она подтолкнула свою ветку fizzbuzz к GitHub.

В конечном итоге я хочу, чтобы fizzbuzz был объединен с development, который затем начнет развертывание CI и развертывание DEV. Затем, в более позднее время, я объединил development в master.

Но я не думаю, что это можно сделать, потому что она создала fizzbuzz с master вместо development. Это? А если нет, то каково решение? Есть ли способ для нее «переустановить» fizzbuzz как ветвь development (если да, то какие команды?) Или какой-то другой альтернативный подход?

ответ

1

Вы очень близко ответили на свой вопрос! git rebase development fizzbuzz будет перебазировать fizzbuzz на development. Если вы тогда git push origin fizzbuzz --force, GitHub обновит базовую ветку.

+0

Thanks @kfb (+1) - Я полагал, что это будет связано с 'rebase', но мне никогда не понадобилось использовать это раньше! Быстрый вопрос о повторении, если вы не возражаете, просто чтобы подтвердить, что я понимаю: когда вы говорите: «* ... будет переустанавливать' fizzbuzz' на 'development' * ', вы имеете в виду, что это будет так, как если бы она разветвляла' развитие' в первую очередь? И будет ли это работать, только если ветви одинаковы/чисты? Что происходит, если «разработка» имеет новый код, который не был там, когда она (случайно) разветвлялась «мастер»? Еще раз спасибо! – smeeb

+1

Да, это будет так, как будто 'fizzbuzz' всегда разветвляется от' development'. Что касается вашего второго вопроса, ответ «это зависит». [Эта ссылка] (https://git-scm.com/book/en/v2/Git-Branching-Rebasing) должен пролить свет на перезагрузку в целом, и [эта ссылка] (https: //help.github. com/articles/resolving-merge-conflict-after-a-git-rebase /) рассказывает о том, что происходит, если есть конфликты. – kfb

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