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

Git等价于“svn cat”,带有远程存储库

  •  23
  • sanxiyn  · 技术社区  · 14 年前

    我要找的是 svn cat 用吉特。

    是的,我知道 the similar question 在这里被问到。答案是使用 git show rev:path

    然而, svn猫 可用于远程存储库。也就是说,我能做到 svn cat url@rev 并从远程存储库的指定版本获取文件,而不获取整个存储库。我的理解是 git show

    我发现的一个解决方法是使用gitweb接口获取blob。

    4 回复  |  直到 7 年前
        1
  •  11
  •   Robin Winslow    12 年前
    git fetch
    git show remotes/origin/master:<filename>
    

    显然你的远程分支可能不在 remotes/origin/master

        2
  •  11
  •   ravi    10 年前

    这是一个 乱劈 您可以与最新版本的Git一起使用,从远程repo(您有Git访问权限)获取单个文件,而无需克隆repo:

    git archive --remote=git@gitserver.example.com:myrepo master path/to/file1 | tar -xOf - > file1
    

    上面的文件来自 master . 根据您的需要进行修改。

        3
  •  9
  •   Russell Silva    13 年前

    如果您的目的是尽量减少下载和/或存储在本地磁盘上的数据量,可以尝试以下命令。

    git clone --depth=1 --bare REPO
    cd REPO.git
    git show HEAD:PATH/TO/FILE
    

    --depth=1 意味着您将只下载最新版本,而不下载任何历史记录。 --bare 意味着您将下载远程存储库,但实际上不会创建任何工作树,从而节省本地磁盘上的空间。

    请注意,如果您对文件的最新版本以外的版本感兴趣,则上述命令将不起作用,因为它们不下载任何历史记录。

        4
  •  3
  •   Community paulsm4    7 年前

    another thread 有人提到,不可能只提取一个文件。因此,唯一的选择是获取远程存储库,或者使用其他工具(例如web浏览器)查看文件。

    Github对在线查看文件有很好的支持,如果您想留在命令行上,可以将其与curl集成。对于其他存储库,可能没有这样的特性。