Когда я выбираю коммит с аналогичными разрешениями для ранее разрешенного патча, я иногда вижу, как git говорит, что пытался повторно применить то, что я сделал ранее. Я считаю, что это rerere
компонент git.
$ git cherry-pick ...
error: could not apply a123f6c424... [commit message]
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'
Resolved 'path/to/file.c' using previous resolution.
Проблема в том, что я не доверяю своему предыдущему решению. Как я могу увидеть, что сделало "предыдущее разрешение"? разница только конфликтующих областей.
Я знаю, что могу полностью повторить слияние с помощью следующих команд. Тем не менее, я не хочу полностью выбрасывать предыдущую работу, просто просмотрите и проверьте ее.
git rerere forget path/to/file.c
git checkout -m path/to/file.c
# Resolve. e.g., git mergetool
Следующие вопросы похожи, но касаются коммитов слияния, а не конфликтов в целом или незафиксированных изменений.
git diff
, может быть, с выбором вишни, а теперь с этим файлом? - person Daemon Painter   schedule 27.05.2020CHERRY-PICKING
,git diff
показывает лишь небольшой набор изменений от обоих родителей (два столбца+
/-
). Могу еще сравнить абсолютные изменения сgit diff HEAD
. Спасибо, @DaemonPainter! - person jozxyqk   schedule 27.05.2020