如何查看裸存储库中的文件?

时间:2014-05-08 19:15:02

标签: git git-bare git-show

我的遥控器中有一个裸存储库。我想查看在编辑器中打开并查看代码的文件。 对于列出文件,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

2 个答案:

答案 0 :(得分:10)

git show master:templates/base.html

答案 1 :(得分:4)

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

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...