在日常开发中,我们经常使用 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 脚本,阻止提交过期代码。