Имеются некоторые изменения, внесенные мной в файл в commit A, после чего я отменил изменения по ошибке и продолжил внесение изменений в коммиты B и C.Git: Как вы объедините файл с самой версией из предыдущего коммита?
Я хочу, чтобы изменения в фиксации A были в мой файл, но изменения в B и C также не должны быть потеряны.
Скажем, моя ветвь теперь в С.
Я не хочу, чтобы
$ git checkout --patch
, потому что я хочу, чтобы файл содержит изменения, которые я сделал в B и C и делать проверку на файл от commit A перепишет файл как в индексе, так и в рабочем дереве.
Я не могу сделать вишневый выбор, потому что commit A является фиксацией слияния (есть два участника в репозитории, и я удалил изменения, которые мой наставник сделал по ошибке в последующих коммитах после того, как я их объединил), и я мог бы закончите с беспорядком, если я указал либо родителя.
Помимо ручного копирования изменений, которые я хочу в файле, есть ли другой способ сделать это?
Надеюсь, что есть более естественный путь! – rivendell
Я не знаю, насколько проще он может получить, чем две команды для слияния кода (да, одна команда будет проще :)). Если есть проблемы с непримиримым слиянием, я не знаю системы контроля версий, которая может помочь вам лучше, чем Git. Если у вас есть проблемы с этим подходом, отредактируйте свою запись или добавьте комментарий, и мы увидим, что мы можем сделать. – eebbesen
Прошу прощения за небрежный ответ! Никаких оправданий, но я был занят исправлением ошибок в коде и нашел эту проблему git в качестве вмешательства! Ну, я на самом деле думал, что 'git-merge-file' будет делать что-то похожее на решение моей проблемы здесь, но оказывается, что это объединение двух файлов, которые основываются на том же файле! Ваш метод работает отлично! Большое спасибо! – rivendell