bash脚本 将commit记录生成一个update.md


#!/bin/bash

#!/bin/bash

# 创建或清空update.md文件
echo "# 更新日志" > update.md
echo "" >> update.md

# 获取所有commit记录并按日期分组
echo "## 按日期分组的提交记录" >> update.md
echo "" >> update.md

# 使用git log获取所有提交,并按日期分组
# 使用完整时间戳进行排序
git log --pretty=format:"%at|%ad|%s|%b" --date=format:"%Y-%m-%d" | sort -t'|' -k1,1n | while IFS="|" read -r timestamp date subject body; do
    # 如果是新的日期,添加日期标题
    if [ "$date" != "$prev_date" ]; then
        # 如果不是第一次循环,添加分隔线
        if [ ! -z "$prev_date" ]; then
            echo "---" >> update.md
            echo "" >> update.md
        fi
        echo "### $date" >> update.md
        echo "" >> update.md
        prev_date="$date"
    fi
    
    # 添加提交信息
    echo "- $subject" >> update.md
    if [ ! -z "$body" ]; then
        echo "  $body" >> update.md
    fi
done

# 添加文件说明
echo "" >> update.md
echo "此文件由脚本自动生成,记录了项目的所有提交历史,按日期分组展示。" >> update.md 


# 添加文件说明
echo "此文件由脚本自动生成,记录了项目的所有提交历史。" >> update.md 

你可能感兴趣的:(bash脚本 将commit记录生成一个update.md)