Команда git stash
была сценарий оболочки , что делало его необычно читаемым для исходного кода Git. Похоже, что он больше не один, и ошибка может быть получена или исправлена после ссылки выше, которая идет в Git версии 2.21.0.
Код list_stash
находится в строках 402-405 и по существу состоит из работы:
git log --format="%gd: %gs" -g --first-parent -m "$@" $ref_stash --
, где $ref_stash
по умолчанию refs/stash
. Обратите внимание, что $ref_stash
следует после "$@"
. Это должно быть хитрее: поскольку вы указали --
, он должен поместить ваши аргументы pre- --
перед --
и ваши аргументы post- --
после (и отбросить ваш --
) и, следовательно, выполнить:
git log --format="%gd: %gs" -g --first-parent -m refs/stash -- doc
что бы делать что хочешь. Вместо этого он запускается:
git log --format="%gd: %gs" -g --first-parent -m -- doc -- refs/stash --
, что означает, что git log
просматривает рефлог HEAD
вместо refs/stash
рефлог.