You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何使用Git命令行获取仓库首次创建日期?首次提交日期亦可

嘿,我来帮你搞定这个问题!Git本身并没有直接存储仓库“创建日期”的字段,但我们可以通过两种方式满足你的需求:要么获取首次提交的日期(这个是Git明确记录的,非常可靠),要么通过本地仓库的文件信息推测创建时间(仅适用于本地仓库)。

获取Git仓库的首次创建/提交日期

一、获取首次提交日期(推荐)

如果你之前用git log没成功,大概率是没调整显示顺序——默认git log是从最新提交开始展示的,所以看不到最早的那条。试试下面这些命令:

方法1:反转提交顺序后取第一条

git log --reverse --format="%ai" | head -1
  • --reverse:把提交记录从最早到最新排序(默认是从新到旧)
  • --format="%ai":指定输出格式为作者提交日期(带时区),如果你想要更简洁的格式,比如只显示年月日,可以换成%Y-%m-%d
  • head -1:只取第一条(也就是最早的提交)

方法2:直接定位根提交(无父提交的首次提交)

有些仓库可能存在多个根提交(比如合并了无关联的仓库),这种情况下可以直接找到所有根提交并查看它们的日期:

git show -s --format="%ai" $(git rev-list --max-parents=0 HEAD)
  • git rev-list --max-parents=0 HEAD:找出所有没有父提交的根提交(也就是仓库的第一批提交)
  • git show -s:只显示提交的元数据,不显示变更内容

二、推测本地仓库的创建日期(仅本地有效)

如果你的仓库是本地初始化的(不是克隆来的),可以通过.git目录的创建时间来推测仓库创建日期——因为初始化仓库时Git会自动生成这个目录:

  • Linux/macOS

    stat -c %w .git
    

    注:%w会显示目录的创建时间(需文件系统支持,比如ext4),如果不支持可以用%z查看最后修改时间,通常和创建时间接近。

  • Windows(命令提示符)

    dir /ad /tc .git
    

    其中/tc表示显示目录的创建时间。

⚠️ 注意:如果是克隆的仓库,.git目录的创建时间是你克隆的时间,不是原仓库的创建时间,这种情况下还是用首次提交日期更靠谱。

内容的提问来源于stack exchange,提问作者kelvin

火山引擎 最新活动