Подтвердить что ты не робот

Как разрешить конфликт с git -svn?

Каков наилучший способ разрешения конфликта при создании ветки git svn rebase и git, на которой вы находитесь, становится "(без ветвления)"?

4b9b3361

Ответ 1

Вы можете использовать git mergetool для просмотра и редактирования конфликтов обычным способом. После того как вы уверены, что конфликты разрешены, выполните git rebase --continue, чтобы продолжить rebase, или если вы не хотите включать эту ревизию do git rebase --skip

Ответ 2

При выполнении git svn rebase, если у вас есть конфликты слияния, вам нужно запомнить несколько вещей:

1) Если что-то не так происходит при выполнении rebase, вы попадете в ветвь (no-branch).

2) Если вы запустите git status, вы увидите файл .dotest в своем рабочем каталоге. Это безопасно игнорировать.

3) Если вы хотите прервать переустановку, используйте следующую команду. 1

git rebase --abort

4) Если у вас конфликт слияния:

  • Вручную отредактировать файлы для разрешения конфликтов
  • Сформируйте любые изменения с помощью git add [file]
  • Продолжайте перезагрузку с помощью git rebase --continue 2
    • Если git спрашивает: "вы забыли позвонить git add?", то редактирование превратило конфликт в переменную no-op 3. Продолжайте с git rebase --skip

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


1: для git svn rebase нет опции --abort.

2: Нет опции --continue для git svn rebase.

3: Это очень странно, но файлы находятся в состоянии, когда git думает, что они одинаковы после этого конкретного патча. Решение состоит в том, чтобы "пропустить"  этот патч на rebase.