代码之家  ›  专栏  ›  技术社区  ›  Ivan Smirnov

引用git按数字存储而不存储@{i}

  •  1
  • Ivan Smirnov  · 技术社区  · 8 年前

    我正在广泛使用git存储。有时打字会让人讨厌 stash@{3} 当,乍一看,一个简单的 3 应该够了。有没有可能以某种方式使用较短的引用?

    我知道一个用shell别名的解决方案。使别名像

    sshow = "!f { git stash show @{$@}; }; f"
    

    允许使用 git sshow 1 . 它甚至允许向 git stash show 如果 $@

    但是,在这种情况下,git autocomplete不起作用:when git stash show stash@{0} --<Tab><Tab> 它应该显示所有 git diff 选项,但这里它对底层命令一无所知。

    是否有其他方法可以使这种别名保持原始 差异比较 完成上下文?

    2 回复  |  直到 8 年前
        1
  •  3
  •   Andy    8 年前

    是的,这是git从v2.11开始内置的。你只能参考任何按索引存放的东西。例如,要在索引2处应用存储,可以键入

    git stash apply 2
    
        2
  •  0
  •   VonC    7 年前

    2.22吉特(2019年第二季度) git stash 是用C重写的。

    见 commit 7906af0 , commit 90a4627 , commit 8d8e9c2 (2019年2月25日)截止日期 Johannes Schindelin ( dscho ) .
    见 commit 40af146 , commit 48ee24a , commit ef0f0b4 , commit 64fe9c2 , commit 1ac528c , commit d553f53 , commit d4788af , commit 41e0dd5 , commit dc7bd38 , commit 130f269 , commit bef55dc , commit dac566c , commit ab8ad46 (2019年2月25日)截止日期 Paul-Sebastian Ungureanu ( weekly-digest[bot] ) .
    见 commit c4de61d , commit 577c199 , commit 4e2dd39 , commit 8a0fc8d (2019年2月25日)截止日期 Joel Teichroeb ( klusark ) .
    (合并人 Junio C Hamano -- gitster -- 在里面 commit e36adf7 2019年4月22日)


    而且……” git stash show 23 “ 以前很有用,但在用c重写之后就没有了 ;该回归已在2.23吉特(2019年第3季度)中得到纠正。

    见 commit 63b50c8 (2019年6月15日)截止日期 Thomas Gummerer ( tgummerer ) .
    (合并人 滨野纯一-- 吉斯特 —— 在里面 commit 99af5be 2019年7月9日)

    存储:修复显示引用存储索引

    在转换' stash show '到C英寸 dc7bd38 (“ stash :转换 显示到内置”,2019-02-25,Git v2.22.0-RC0),' git stash show <n> ,其中 n 是 一个藏物的索引被破坏了,如果 不是文件或有效修订 本身。

    ’ 藏品展 '接受任何标志' git diff '接受更改输出格式。
    我们内部使用' setup_revisions() '来分析这些命令行标志。
    现在我们通过了整个 argv 到' 设置修订() ,其中包括存储索引。

    但是,由于存储索引在大多数情况下不是有效的修订或工作树中的文件,因此 设置修订() '如果使用这种形式的' git stash show '.

    而不是通过整个 阿尔加夫 为了 设置修订() '仅通过 标记(和命令名)通过,但不包括存储 参考资料。
    在' get_stash_info() “已经。

    这种独立的解析还意味着我们当前确实生成了 如果命令成功,请更正输出。

    推荐文章