Почему Git запоминает и использует разрешение конфликта из прерванного ребазинга, не спрашивая меня? - PullRequest
16 голосов
/ 23 февраля 2011

Я сделал ребаз в своей ветке foo

git rebase master

Сделал несколько разрешений конфликтов, потом решил, что не хочу этого делать, и прервал.

git rebase --abort

Все истории журналов веток выглядят нормально.Теперь я хочу снова запустить тот же процесс.

git rebase master

Когда git попадает в первый конфликт, в который он попал в первый раз, он перечисляет файлы как конфликтующие, как и прежде.НО вместо того, чтобы отмечать конфликт с помощью <<<<< и т. Д., Он просто показывает файл в его состоянии после того, как я разрешил конфликт в первый раз.Интересно, что у него есть эта особенность ... но я на самом деле хочу разрешить один из конфликтов по-другому, поэтому я не хочу, чтобы он запомнил и применил заново.

Что именно здесь происходит, и можетЯ выключаю это?

Ответы [ 2 ]

10 голосов
/ 21 апреля 2011

используйте git checkout --conflict=merge -- your_file, чтобы получить версию файла с конфликтами

9 голосов
/ 21 апреля 2011

Вы можете использовать функцию rerere «забыть», чтобы стереть запомненное разрешение конфликта.

...