Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在GIT中的特定标记处获取特定文件_Git - Fatal编程技术网

在GIT中的特定标记处获取特定文件

在GIT中的特定标记处获取特定文件,git,Git,我有一个名为foobar的git存储库,它非常大(10GB左右)。我想自动化在特定标记处获取特定文件内容的过程,并对其进行处理。现在,我做以下工作: 1. git init 2. git fetch git://remote/foobar.git SOME_SPECIAL_TAG_03892 3. Get the file xyz.txt 由于repo中有数以万计的标记、分支和历史记录,因此提取操作最多需要15分钟。但是存储库工作区只有4个文件(其中一个是xyz.txt) 在tagSOME\

我有一个名为
foobar
的git存储库,它非常大(10GB左右)。我想自动化在特定标记处获取特定文件内容的过程,并对其进行处理。现在,我做以下工作:

1. git init 
2. git fetch git://remote/foobar.git SOME_SPECIAL_TAG_03892
3. Get the file xyz.txt
由于repo中有数以万计的标记、分支和历史记录,因此提取操作最多需要15分钟。但是存储库工作区只有4个文件(其中一个是xyz.txt)

在tag
SOME\u SPECIAL\u tag\u 03892
获取xyz.txt内容的最佳方法是什么?是否可以执行git remote ls来执行此操作?

尝试浅层提取

git fetch --depth=1 git://remote/foobar.git SOME_SPECIAL_TAG_03892
试着浅尝辄止

git fetch --depth=1 git://remote/foobar.git SOME_SPECIAL_TAG_03892

请尝试以下步骤。希望这些命令对您有所帮助

    git show object
    git show $REV:$FILE
    git show somebranch:from/the/root/xyz.txt
    git show HEAD^^^:test/abc.py
该命令采用通常的修订样式,这意味着您可以使用以下任何一种:

1. git init 
2. git fetch git://remote/foobar.git SOME_SPECIAL_TAG_03892
3. Get the file xyz.txt
  • 分支机构名称
  • +x个
    ^
    字符数
  • 给定修订的SHA1哈希
  • 给定SHA1散列的前几个(可能是10个)字符

  • 请尝试以下步骤。希望这些命令对您有所帮助

        git show object
        git show $REV:$FILE
        git show somebranch:from/the/root/xyz.txt
        git show HEAD^^^:test/abc.py
    
    该命令采用通常的修订样式,这意味着您可以使用以下任何一种:

    1. git init 
    2. git fetch git://remote/foobar.git SOME_SPECIAL_TAG_03892
    3. Get the file xyz.txt
    
  • 分支机构名称
  • +x个
    ^
    字符数
  • 给定修订的SHA1哈希
  • 给定SHA1散列的前几个(可能是10个)字符
  • 你可以用

    git show SOME_SPECIAL_TAG_03892:xyz.txt
    
    例如:

    git show tags/v1.0.5:README.md
    
    这将把README.md的内容打印到stdout,它在v1.0.5中的样子,因此您可以随意处理它,例如将其重定向到文件等

    请参阅以供参考。

    您可以使用

    git show SOME_SPECIAL_TAG_03892:xyz.txt
    
    例如:

    git show tags/v1.0.5:README.md
    
    这将把README.md的内容打印到stdout,它在v1.0.5中的样子,因此您可以随意处理它,例如将其重定向到文件等

    请参阅以供参考