Я могу придумать 2 способа.
Решение 1: создать ветку из тайника.Этот тип побеждает первоначальную цель функции хранения, которая заключается в том, чтобы избежать необходимости создавать отдельную ветвь.
Решение 2. Добавьте все изменения в отслеживаемые файлы в индекс перед сохранением.После сохранения запустите
git format-patch 'stash@{0}^1'..'stash@{0}^2'
, который сравнивает HEAD с индексом (на момент создания тайника).
Я не уверен, почему нельзя просто оставить файлы без добавленияиндекс и запустить git format-patch 'stash@{0}^1'..'stash@{0}'
, что похоже на то же самое.В объекте stash commit должно быть что-то особенное.В любом случае, добавление к индексу будет записывать изменения во втором родительском элементе тайника (фиксация индекса), минуя проблемы с коммитом тайника.
Дополнительные примечания: git format-patch -1
всегда будет пустым для слиянияcommit (тайники являются частным случаем коммита слияния).Я не совсем уверен, почему это так, но смотрите Git: Как создавать патчи для слияния? для более подробной информации.