git stash pop: отменить локальные изменения в одном файле

#git #git-stash

#git #git-stash

Вопрос:

В моей ветке

  git stash
 git checkout master
 git pull --rebase
 git checkout my-branch
 git rebase master
 git stash pop
  

Все в порядке, но только в 1 файле есть конфликты, и я не хочу изменений, которые я спрятал. Есть множество других файлов, которые не конфликтуют, и эти изменения необходимы.

 Unmerged paths:
  (use "git restore --staged <file>..." to unstage)
  (use "git add <file>..." to mark resolution)
  both modified:   /server/Server.java
  

Как мне избавиться от этих изменений и получить чистый stash pop?

Ответ №1:

 git checkout HEAD -- /server/Server.java
  

чтобы отменить локальные изменения и проверить состояние файла, записанное в HEAD, то есть текущую фиксацию.

Комментарии:

1. Только это не сработало. Несколько файлов уже были подготовлены для фиксации. Поэтому мне пришлось git reset следовать git checkout /server/Server.java и, наконец git stash drop

2. @Confused Oops немного пропустил, я упомянул HEAD, но забыл включить его в команду, я отредактировал свой ответ.