代码之家  ›  专栏  ›  技术社区  ›  Jeff

git分支是否有相应的Linux shell绝对文件路径?[副本]

  •  0
  • Jeff  · 技术社区  · 7 年前

    我有两个分支:大师和工作。我当前在工作分支上,但我想引用一个只存在于主分支中的文件,而不签出该分支。是否有一些shell语法允许我在branch master中引用该文件?

    例如:

    $ some-tool git:master!some-file.txt
    
    2 回复  |  直到 7 年前
        1
  •  0
  •   Charles Duffy    7 年前

    不,但使用 process substitution 您可以生成与附加到任意命令输出的FIFO相对应的路径。因此,如果“任意命令”从git检索您的文件(并且您的工具可以从FIFO读取,而不需要可查找的文件),那么您就可以了。

    some-tool <(git show master:some-file.txt)
    
        2
  •  0
  •   Carey    7 年前

    如果您使用的是bash或其他支持进程替换的shell,那么这应该可以:

    $ some-tool <(git show <BRANCH>:<PATH_FROM_GITROOT>)
    

    <() 在中创建文件句柄 /dev/fd 或者一个命名管道,具体取决于实现,其中包含子命令AFAIK的内容。