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


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

2   51   2008-09-22 06:03:55

2 ответа:

можно использовать 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 add?", затем правки превратили конфликт в no-op change3. Продолжить git rebase --skip

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


1: нет на git svn rebase.

2: нет на git svn rebase.

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