如何列出今年 git 次提交的时间戳和提交消息?
How do I list the time stamp and commit message for git comits made this year?
我有一个 git 历史记录,其中有多个分支,其中一些未合并。我想提取从过去的一次提交到今天的每次提交的日志。
我查看了 Git 日志,但还没有找到可以提供所有信息的函数。我刚刚在分支上设置了一个标记来设置起点。
我希望历史包含时间戳、提交消息和分支。
git log --all --since="1 year ago" --author-date-order --pretty=format:'%at %s' > year.log
可以作为您需要的基础,如果需要可以进行调整。
关于 "branch" 部分:简而言之,你不能。
更准确地说,分支只是跟踪 repo 树中有用位置的指针,但它们最终是一次性的,而提交不是,它们是真实的你的历史树的问题。
进行提交时,许多信息都会进入其创建过程,但分支根本不是其中的一部分。与 git 相关的是问题 "Is that commit reachable from this branch?".
顺便说一句,您可以使用分离的 HEAD 状态提交。如果你这样做,这个提交 "belong" 到哪个分支?如果你继续提交,然后你在你的提交系列的顶端创建了一个分支,git 怎么能追溯性地将分支信息写入现在不可变的提交中,现在 "on" 这个分支?
我有一个 git 历史记录,其中有多个分支,其中一些未合并。我想提取从过去的一次提交到今天的每次提交的日志。
我查看了 Git 日志,但还没有找到可以提供所有信息的函数。我刚刚在分支上设置了一个标记来设置起点。
我希望历史包含时间戳、提交消息和分支。
git log --all --since="1 year ago" --author-date-order --pretty=format:'%at %s' > year.log
可以作为您需要的基础,如果需要可以进行调整。
关于 "branch" 部分:简而言之,你不能。
更准确地说,分支只是跟踪 repo 树中有用位置的指针,但它们最终是一次性的,而提交不是,它们是真实的你的历史树的问题。
进行提交时,许多信息都会进入其创建过程,但分支根本不是其中的一部分。与 git 相关的是问题 "Is that commit reachable from this branch?".
顺便说一句,您可以使用分离的 HEAD 状态提交。如果你这样做,这个提交 "belong" 到哪个分支?如果你继续提交,然后你在你的提交系列的顶端创建了一个分支,git 怎么能追溯性地将分支信息写入现在不可变的提交中,现在 "on" 这个分支?