Ответ 1
jupp0r был на правильном пути. Сначала cd
в корень вашего репозитория. Тогда:
git commit -a -m 'Backup commit.'
git branch pre-patch
git reset --hard HEAD~
git diff --patch -w HEAD pre-patch > patch.diff
git apply patch.diff
Я не уверен, будет ли это работать для двоичных изменений. Если нет, вы можете передать их отдельно заранее. Если этот процесс выходит из строя, ваш код находится в ветке pre-patch
.
Что это делает:
- Создает фиксацию и ветку для сохранения полных изменений. Это также служит резервным копированием.
- Возвращает шаг, прежде чем эти изменения будут сделаны.
- Получает "diff -w" из старого кода в новый код, отформатированный как патч.
- Применяет патч.
Примечание. Если вы уже совершили изменение и хотите его изменить, просто опустите первый шаг.