Решение Матиаса определенно ближе всего к git stash pop --force (и действительно, давайте, разработчики Git, давайте уже получим эту опцию!)
Однако, если вы хотите сделать то же самое, используя только команды git, вы можете:
- git commit -a -m "Fixme"
- git stash pop
- git commit -a --amend
- git reset HEAD ~
Другими словами, сделайте коммит (который мы никогда не будем продвигать) ваших текущих изменений. Теперь, когда ваше рабочее пространство чистое, вставьте свой тайник. Теперь внесите изменения в тайник в качестве дополнения к вашему предыдущему коммиту. Сделав это, вы теперь объединяете оба набора изменений в один коммит («Fixme»); просто сбросьте (--soft NOT --hard, так что на самом деле ничего не потеряно) вашу проверку на «один до этого коммита», и теперь у вас есть оба набора изменений, полностью незафиксированные.
** EDIT **
Я только что понял, что на самом деле это даже проще; Вы можете полностью пропустить шаг 3, так что ...
- git commit -a -m "Fixme"
- git stash pop
- git reset HEAD ~
(Зафиксируйте текущие изменения, вытолкните спрятанные изменения, сбросьте первый коммит, чтобы объединить оба набора изменений в незафиксированное состояние.)