在
git stash show stash@{x}
x 可以取什么值(除了指向存储序列号的整数)?
我知道的唯一值是以下所列的值:
git stash list
即您在问题中所指的“整数”(0、1、2、...)或基于时间的语法:
您创建的最新存储存储在
refs/stash; 较旧的存储可在此参考的 reflog 中找到,并且可以使用通常的 reflog 语法命名
(例如stash@{0},是最近创建的存储,stash@{1}是它之前的存储,
stash@{2.hours.ago}也是可能的)。
如果是这样,值列表是 中指定的值的一部分git rev-parse,主要受以下两个类别的启发:
一个 ref 后跟
@带有日期规范的后缀,括在大括号对(例如{yesterday},{1 month 2 weeks 3 days 1 hour 1 second ago}或{1979-02-26 18:30:00})中,以指定 ref 在先前时间点的值。
此后缀只能紧跟在 ref 名称之后使用,并且 ref 必须具有现有的日志 ($GIT_DIR/logs/<ref>)。
请注意,这会在给定时间查找本地 ref 的状态;例如,上周您当地的 master 分支中的内容。一个 ref 后跟
@带有序号规范的后缀,包含在一个大括号对(例如{1},{15})中,以指定该n-thref 的先前值。
例如master@{1},是 master 的直接先验值,而是 mastermaster@{5}的第 5 个先验值。
此后缀只能紧跟在 ref 名称之后使用,并且 ref 必须具有现有的日志 ($GIT_DIR/logs/<ref>)。
git show stash@{0}向您显示存储条目的 sha1,应该是绝对唯一的。