2015-10-06 2 views
0

Хорошо, так вот.Git rebase master на новой ветке дает конфликты слияния

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

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

И, когда я пытаюсь запустить git rebase master после git checkout -b test, я получаю конфликты слияния, чего не должно быть.

Я пропустил что-то очень основное из того, как работает rebase или что? потому что я думаю, что мастер переустановки git является излишним после создания новой ветки от мастера.

+0

Если вы находитесь на главном сервере, и вы делаете «git checkout -b test», то ветка должна быть точно такой же. Вы можете проверить визуально что-то вроде 'gitk' или запустить' git merge-base master test', чтобы увидеть, где ветви отклоняются. –

+0

Это не кажется правильным. Если вы разветвляетесь с обновленной основной ветвью, то подсказки теста и мастера будут иметь одинаковую фиксацию, поэтому никакого перезагрузки не произойдет. Как вы обновили свой филиал? – Makoto

+0

@Makoto, я использовал 'git checkout master', за которым следует' git pull --rebase upstream/master' – Quicksillver

ответ

1

Я перепутал где-то в процессе разветвления. Для решения проблемы я сделал следующее.

Поскольку все мои изменения, которые имеют значения уже толкнули происхождение, я сделал

git reset --hard origin/master 

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

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