我的远程中有一个裸存储库。我想看看文件,即在编辑器中打开并查看代码。要列出文件,请使用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 show ${branch}:templates/base.html
如果您想要templates
文件夹的更详细的内容,您可以使用带有树ID的ls-tree
。例如:
git ls-tree 53a58d
将显示完整的树项。从那里,你可以git cat-file blob
或git 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.config
的内容HEAD:
% git cat-file blob df88564
<?xml version="1.0" encoding="utf-8"?>
...etc...