一个 Bash 命令,告诉你上次 Git 提交距今多少天

44 阅读1分钟

在日常开发中,我们经常使用 Git 进行版本控制。那么问题来了:

“我想知道这个项目上次提交是在几天前。”

比如:

  • 想看看某个开源项目是否还活跃;
  • 想检查团队仓库是不是又没人更新了;
  • 或者你只是在摸鱼前心里有点过意不去 😅

别担心,这件事只需要一行 Bash 命令就能轻松搞定!

✅ 一行命令搞定

echo $(( ( $(date +%s) - $(git log -1 --format=%ct) ) / 86400 ))" days since last commit"

输出示例:

3 days since last commit

🔍 命令拆解

命令含义
git log -1 --format=%ct获取上一次提交的 Unix 时间戳
date +%s获取当前的 Unix 时间戳
$((...))Bash 的整数计算表达式
/ 86400将秒换算为天(1 天 = 86400 秒)

这条命令的含义是:

当前时间 - 上次提交时间 → 秒数差 → 转换为天 → 输出

⚡ 设置 alias,永久使用

每次都敲太长了?加个别名就行!

编辑你的终端配置文件(.bashrc / .zshrc):

nano ~/.bashrc     # 如果你用的是 Bash
# 或者
nano ~/.zshrc      # 如果你用的是 Zsh

添加以下内容:

alias git-days='echo $(( ( $(date +%s) - $(git log -1 --format=%ct) ) / 86400 ))" days since last commit"'

保存并重新加载配置:

source ~/.bashrc
# 或者
source ~/.zshrc

现在你只需在终端里运行:

git-days

就能随时查看了!

🧠 应用场景举例

  • 检查项目活跃度:判断开源项目是否还在维护。
  • 自我提醒:多久没更新代码了,要不要动动手?
  • CI 检查逻辑:结合 shell 脚本,阻止提交过期代码。