1.3.2. post-commit实例: 自动提醒¶
一个post-commit示例
#!/bin/bash
# 定义初次复习的时间间隔(单位:天)
review_intervals=(1 3 7 14 30)
# 获取最近的一次提交信息
commit_message=$(git log -1 --pretty=%B)
commit_hash=$(git log -1 --pretty=%H)
commit_date=$(date +"%Y-%m-%d")
# 定义提醒文件路径
reminder_file="review_reminders.txt"
reminder_path="0shares/$reminder_file"
echo "生成复习提醒..."
echo -e "\n$commit_date: [$commit_message]">>"$reminder_path"
echo -e "\tcommit: $commit_hash">>"$reminder_path"
# 循环生成不同时间间隔的复习提醒
for interval in "${review_intervals[@]}"
do
# 使用 -v 参数计算复习日期
review_date=$(date -v+"$interval"d +"%Y-%m-%d")
# 记录到提醒文件
echo -e "\t复习日期:$review_date" >>"$reminder_path"
done
echo "复习提醒已生成并保存到 $reminder_file"