Сброс текущей перезагрузки Git

Я делаю rebase. Я работал над устранением некоторых конфликтов, но я оказался в неправильном направлении, и теперь я просто хочу начать исправление этих конфликтов.

Я хотел бы сбросить rebase, так что я все еще перезаряжаю текущую фиксацию, но рабочая копия была сброшена до того, когда в сообщении зафиксированы конфликты.

Как я могу сбросить rebase для текущей фиксации?

Если вы просто хотите повторить слияние для определенного файла, все, что вам нужно сделать, это:

git checkout -m <file> 

Если вы хотите переделать весь коммит, вот как я это делаю (возможно, это лучший способ сделать это):

  1. Во время переустановки есть конфликт
  2. Я испортил разрешение конфликта
  3. Я запускаю git status который с Git 2.0.0 дает мне что-то вроде этого ( только если вы делаете интерактивную перезагрузку ):

     interactive rebase in progress; onto 14ed389 Last command done (1 command done): pick db2511c Modify file Next command to do (1 remaining command): pick d1c2037 Modify file one more time (use "git rebase --edit-todo" to view and edit) You are currently rebasing branch 'other' on '14ed389'. (fix conflicts and then run "git rebase --continue") (use "git rebase --skip" to skip this patch) (use "git rebase --abort" to check out the original branch) Unmerged paths: (use "git reset HEAD <file>..." to unstage) (use "git add <file>..." to mark resolution) both modified: file.txt 
  4. Я pick db2511c Modify file строку для команды, которую выполняет pick db2511c Modify file : pick db2511c Modify file
  5. Я запускаю git rebase --edit-todo и вставляю строку в верхнюю часть файла
  6. Я запускаю git rebase --skip

Если вы находитесь между вашей перестановкой, вы можете сделать

 git rebase --abort 

Если у вас было несколько коммитов, которые редактировали одни и те же файлы на обоих ветвях, и во время перезагрузки решили, что хотите сохранить какую-то работу, не отбрасывайте все уже сделанные изменения ( git rebase --abort ), то я думаю, вам нужно будет заглянуть в каталог .git/rebase-apply и проверить файл patch . Он содержит все изменения, внесенные во время перезагрузки. Вы должны вручную применить этот патч после выполнения git rebase --abort .