使用 Git 查看指定时间段内的最近更改

您是否曾经度过一个长假并想查看您的团队自 2 周前以来所做的更新?或者甚至可能就在上周。当然,您可以浏览 PR,但可能有更简单的解决方案。Git已经内置了检查这一点的功能。

如果要查看最近 2 周的更改,可以使用git log. 例如,要查看存储库最近两周的更改,请在终端中运行以下命令:

git log --since='2 weeks ago'

同样,如果您只想查看一周的更改,您可以这样写:

git log --since='2 weeks ago'

变量的日期--since可以用2 weeks ago1 year ago2 months ago5 days ago– 来表示,因此您可以灵活地选择如何显示更改。您还可以使用 ISO 时间戳,例如2022-03-03T14:32:12-01:00

注意:您也可以使用git whatchanged, 它与 的作用完全相同git log,但由于历史原因而保留。git whatchanged和之间的唯一区别git loggit whatchanged默认情况下显示更改中的所有文件。

建议git log改用,因为仍然可以使用此命令显示所有文件,方法是键入git log --since='2 weeks ago' --stat

其他 git 日志选项#

除了能够为您提供一个简单的界面来查看更改之外,还有一些有用的功能git log可以将更多信息添加到您收到的日志中。以下是我最喜欢的一些:

  • --max-count-n– 限制 git 提交的最大计数 – 可以像这样使用git log --since='2 weeks ago' --max-count=5
  • --author--committer– 显示特定作者的提交,即git log --since='2 weeks ago' --author="joe"
  • --merges--no-merges– 仅显示合并,或隐藏所有合并。
  • --grep– 按日志项限制日志,因此git log --since='2 weeks ago' --grep="feat-ui"只会显示带有 ‘feat-ui’ 的更改。
  • --stat– 列出在特定更改中所做的所有文件。
  • -p– 逐个显示文件更改。