【问题标题】:How to view files in bare repositories?如何查看裸存储库中的文件?
【发布时间】:2014-06-26 08:48:59
【问题描述】:

我的遥控器中有一个裸存储库。我想查看在编辑器中打开的文件并查看代码。 要列出文件,请使用 git ls-files master 或 git ls-tree master。 对于查看单个文件,我可以执行 git show 100644 但是如何查看目录中的文件。这是一个例子:

100644 blob 03ec70a7ab513de8d568450dd8fca93987a22da0    .gitignore
100644 blob 75a85b0137fe1ee0c60bda6dcfac78d2d59a1759    README.md
040000 tree 53a58d85bc833575fdfee86058d88a4928c6fe76    templates

如果我执行 git show 03ec70,它会显示 .gitignore 文件的内容

如果我执行 git show 53a58d,它会列出模板文件夹的内容

403.html
404.html
500.html
base.html

但是我怎样才能打开单个文件来查看它们。示例:上述案例中的 base.html

【问题讨论】:

    标签: git git-bare git-show


    【解决方案1】:
    git show ${branch}:templates/base.html
    

    【讨论】:

    • 我猜无法在裸存储库中进行编辑。是只读仪式吗?
    • 你可以编辑你想要的任何东西,但是在非裸仓库中工作要容易得多!如果您有权访问裸仓库,您应该克隆它、进行更改并推送。
    【解决方案2】:

    如果您想要更详细的 templates 文件夹内容,您可以使用带有树 ID 的 ls-tree。例如:

    git ls-tree 53a58d
    

    这将显示完整的树条目。从那里,您可以git cat-file blobgit show 他们。

    例如:

    % git ls-tree HEAD
    040000 tree 62711729ee3bd52fd75fa4fdd0944c9890f6a249    .nuget
    100644 blob b457310ab0fbab34746e9ded04b378241f9b9fe3    GitClient.sln
    040000 tree 197b7190b843ef07e78e6589c6edd84bdcdd4082    packages
    

    如果我想查看子树packages

    % git ls-tree 197b719
    100644 blob df885643f0a23e0307df2c704f1e21b500185344    repositories.config
    

    如果我想在 HEAD 查看packages/repositories.config 的内容:

    % git cat-file blob df88564
    <?xml version="1.0" encoding="utf-8"?>
    ...etc...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-31
      • 2011-11-08
      • 1970-01-01
      • 1970-01-01
      • 2010-10-02
      • 2018-08-03
      • 2012-08-22
      • 1970-01-01
      相关资源
      最近更新 更多