10

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

4

2 回答 2

15
git show ${branch}:templates/base.html
于 2014-05-08T19:22:23.413 回答
6

如果您想要更详细的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

如果我想查看packages/repositories.configHEAD 的内容:

% git cat-file blob df88564
<?xml version="1.0" encoding="utf-8"?>
...etc...
于 2014-05-08T19:19:05.503 回答