Каков наилучший способ разрешения конфликта при создании ветки git svn rebase и git, на которой вы находитесь, становится "(без ветвления)"?
Как разрешить конфликт с git -svn?
Ответ 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 --continue2- Если git спрашивает: "вы забыли позвонить
git add?", то редактирование превратило конфликт в переменную no-op 3. Продолжайте сgit rebase --skip
- Если git спрашивает: "вы забыли позвонить
Возможно, вам придется повторить этот процесс, пока переполнение не будет завершено. В любой момент вы можете git rebase --abort отменить и отказаться от rebase.
1: для git svn rebase нет опции --abort.
2: Нет опции --continue для git svn rebase.
3: Это очень странно, но файлы находятся в состоянии, когда git думает, что они одинаковы после этого конкретного патча. Решение состоит в том, чтобы "пропустить" этот патч на rebase.