Вопрос

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

Это было полезно?

Решение

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

Другие советы

Во время выполнения git svn rebase, если у вас есть конфликты слияния, вот что следует запомнить:

1) Если во время перебазирования произойдет что-то плохое, вы окажетесь на (no-branch) ветвь.

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

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

git rebase --abort

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

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

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


1:Здесь нет --abort вариант для git svn rebase.

2:Здесь нет --continue вариант для git svn rebase.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top