Я сейчас в филиале 'foo'. Я просто запустил git merge master
. Проблема только в том, что в foo есть определенный файл, который я хотел сохранить. Есть ли способ вернуть его, но сохранить все другие изменения от мастера слияния?
Git восстановить один файл, который был удален во время слияния
Ответ 1
Попробуйте что-то вроде этого:
git checkout HEAD -- filename
Это приведет к откату вашего файла. Если вы хотите вернуться к определенной фиксации, вы можете использовать хеш фиксации или добавить ^ N в конец ключевого слова HEAD, например. HEAD^2
.
Ответ 2
Я не уверен, как исправить проблему из текущей ситуации, но вы можете посмотреть git merge -s ours
. Документы здесь.
Рабочий процесс будет
- Создать ветку
a
изmaster
- Сделайте собственное изменение в ветке
a
, которое вы не захотите объединить обратно вmaster
- Проверьте
master
иgit merge -s ours a
- Отъезд
a
и продолжить работу и совершить.
Теперь, когда вы сливаетесь с мастером, пользовательские изменения на шаге 2 будут проигнорированы.