Почему Git помнит и использует разрешение конфликта от прерванной перестановки, не спрашивая меня?

Я сделал rebase на моей ветке foo

git rebase master

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

git rebase --abort

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

git rebase master

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

Что именно происходит здесь, и могу ли я отключить его?

Ответ 1

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

Ответ 2

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