git:每天更新日志

标签 git bash logging changelog

如何生成按日期分组的提交变更日志,格式为:

[date today]
- commit message1
- commit message2
- commit message3
...
[date day+3]
- commit message1
- commit message2
- commit message3
...
(skip this day if no commits)

[date day+1]
- commit message1
- commit message2
- commit message3
... 
[date since]
- commit message1
- commit message2
- commit message3

任何 git log 命令,或智能 bash 脚本?

最佳答案

这是脏的,但我想出的脚本的工作版本:

#!/bin/bash
# Generates changelog day by day
NEXT=$(date +%F)
echo "CHANGELOG"
echo ----------------------
git log --no-merges --format="%cd" --date=short | sort -u -r | while read DATE ; do
    echo
    echo [$DATE]
    GIT_PAGER=cat git log --no-merges --format=" * %s" --since=$DATE --until=$NEXT
    NEXT=$DATE
done

关于git:每天更新日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2976665/

相关文章:

git - "git add submodule"上的 fatal error

git - 将git目录放在驱动器同步工具中是否危险

node.js - 在 Windows 的 Git bash 中启动 node.exe -v 时出现错误 0x2

c - 隐藏 shell 中打印的回溯

.net - 有没有办法设置 log4net 内存附加程序可以包含的最大错误消息数?

git - 使用 git-bundle 传输对多个分支所做的更改

python - 包括 SimpleHTTPServer?

java - 我可以在导出 RCPas 产品时导出 log4j.properties 吗?

javascript - 如何在解析中关闭 beforeSave afterSave Hook 的日志记录

git - Git 远程是否有可能是计算机本身的位置而不是网络位置?