繁体   English   中英

从git commit hash获取文件或文件夹

[英]Get File or Folder from git commit hash

所以说我有一个哈希值ccf52ef35d7767c5b0f251542ab79608c50a3a56

如何使用git命令行从提交哈希和文件结构中获取文件的内容。

另外,如果路径是目录而不是文件,如何获得目录列表。 我不需要检查,只需要检查两个命令即可。

我知道这是命令: git log [<options>] [<since>..<until>] [[--] <path>...]这是页面

我尝试了git log ccf52ef35d7767c5b0f251542ab79608c50a3a56 ,但这只是返回了通用git log (所有提交)。 我什至不知道如何获取文件的内容,除了可能将其输送到lscat

编辑:好的,所以我弄清楚了git show --pretty="format:" --name-only a3da8bb 是仅grep出目录并从目录中整理文件的最佳方法吗? 编辑2:看到答案,谢谢。 仍然希望找出如何cat的文件。

您可能想要:

git show --pretty="format:" --name-only <sha1 hash>

它将显示在提交中添加/修改/删除的文件。 可以使用--name-status代替--name-only来显示名称和状态(已修改,已添加。)

要获取文件的内容,可以使用:

git show <hash>:file

要么

git cat-file -p <hash>:file

我想到了。 实际上很简单。

git show hash:path/to/file

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM