Я сейчас в филиале '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 будут проигнорированы.