【问题标题】:Git - get list of all commits which changed a file [duplicate]Git - 获取更改文件的所有提交的列表[重复]
【发布时间】:2019-07-01 12:21:03
【问题描述】:

我尝试获取对某个文件进行更改的所有提交的列表。这可能吗?它应该按日期排序。

git showAllChanges /path/to/file.xy

输出:

d9fc62dba13069fc281e9d09b698ba2e32f6dafd
2625eb741618dae7004b3d23a5894ae7a91df698
cfae25eced932c1375b3bc56ae8399ca88513d94

【问题讨论】:

  • 使用这个命令:git log -- [filename]

标签: git


【解决方案1】:

是的,有可能,你有git log命令,正如官方documentation所报告的那样

默认情况下,没有参数,git log 按时间倒序列出该存储库中所做的提交;也就是说,最近的提交最先出现。

您还可以使用$ git log --pretty=oneline$ git log --pretty=format:"%h - %an, %ar : %s" 漂亮地打印输出

或者用git log --since=2.weeks限制时间间隔。

有很多参数,查看手册页。 Here 是完整的文档

【讨论】:

  • 但这并不能回答如何只查看特定文件
  • 我已经更新了答案,但基本上你必须写git log [--] <path>
【解决方案2】:

你可以使用git log:

git log --pretty=format:"%h" -- path/to/file.xy

--pretty=format:"%h" 允许您仅获得缩小的提交哈希。如果你想要完整的哈希,你可以使用%H。如果您想了解更多,可以查看pretty-formats documentation

如果您想考虑文件名更改,可以使用--follow 选项。

【讨论】:

  • 我得到 `bad revision '%H'
  • 你能告诉我整个代码吗?我无法复制。
猜你喜欢
  • 2012-04-27
  • 2011-06-14
  • 2013-02-22
  • 1970-01-01
  • 1970-01-01
  • 2020-05-10
  • 2013-06-30
  • 2018-12-30
相关资源
最近更新 更多