我想查看指定目录上所有文件的 git 创建日期(添加它们的首次提交日期)。
我将把我的解决方案分成几个步骤。
获取存储库中所有文件的列表
$ git ls-files
这将返回存储库中所有文件的相对路径列表。
获取给定文件第一次提交的 SHA-1:
$ git rev-list HEAD <file> | tail -n 1
这将按时间倒序返回给定文件的所有无父提交的列表。最后一个是给定文件第一次提交的 SHA-1 哈希值。
您可以通过运行来验证这一点git log --raw <hash>
。您应该看到类似以下内容:
commit <commit_hash>
Author: Susy Q <[email protected] /cdn-cgi/l/email-protection>
Date: Wed Aug 24 12:36:34 2011 -0400
Add new module 'example.py'
:000000 100644 0000000... <hash>... A example.py
显示给定提交的日期
$ git show -s --format="%ci" <hash>
将所有内容整合到一个 bash 脚本中:
#!/bin/bash
for file in $(git ls-files)
do
HASH=$(git rev-list HEAD "$file" | tail -n 1)
DATE=$(git show -s --format="%ci" $HASH --)
printf "%-35s %s\n %s\n" "$file" $HASH: "$DATE"
done
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)