Как выйти из временной ветки, созданной "git pull --rebase"? - PullRequest
0 голосов
/ 06 июня 2018

Находясь в ветке, я выполнил

git pull --rebase origin master

Это привело к некоторым конфликтам слияния.Открыв файлы и выбрав необходимые части кода, я разрешил конфликты.Затем я выполнил git add и git commit.

Теперь, когда я выполняю, git branch, я вижу, что я не в исходной ветви, а в ветви с именем:

(no branch, rebasing my_branch_name)

git status говорит:

rebase in progress; onto 5ae1f3d58
You are currently rebasing branch 'my_branch_name' on '7af1d3d38'.
  (all conflicts fixed: run "git rebase --continue")

nothing to commit, working tree clean

Однако, когда я выполняю git rebase --continue, как предложено, ничего не меняется.Я все еще остаюсь в этой странной временной ветви.Итак, как я могу вернуться в свою ветку и сохранить изменения, внесенные git pull --rebase и слиянием вручную?

Ответы [ 2 ]

0 голосов
/ 07 июня 2018

При разрешении конфликтов в rebase вам не нужно запускать git commit до git rebase --continue, это, вероятно, является причиной проблемы

Если вы это сделаете, git commit --rebase попытается зафиксировать изменение изапутаться, потому что ничего не изменилось.

Самый простой вариант - отменить последний коммит, а затем продолжить

git reset HEAD^
git rebase --continue

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

0 голосов
/ 06 июня 2018

На rebase конфликт будет указан.Вам нужно разрешить конфликты в каждом файле.

Найдите конфликтующие файлы.

конфликт будет выглядеть следующим образом

<<<<<<< HEAD
code from master branch
>>>>>>>>>>>>>>
<<<<<<<<< <some_commit_id>
code from your local file
>>>>>>>>>>>>>>>>>>>>>>>`

Отредактируйте эту часть и сохраните код, который вы на самом делеwant.

Затем в терминале добавьте файлы в git, используя

git add <file_name>

После разрешения всех конфликтов и добавления в git

run git rebase --continue

Если вы не хотите делать ничего этого и хотите старый код перед перезагрузкой, просто запустите git rebase --abort

...