如何将git log(或svn log)限制为关于某个特定文件的修订版?

时间:2008-12-08 20:21:27

标签: svn git logging

我想看一个文件的一系列差异。我决定只将日志列表限制为仅修改文件的那些条目。

5 个答案:

答案 0 :(得分:14)

svn log filename

svn log URL

我还建议添加--limit N以仅显示最近的条目:

svn log main.cpp --limit 4

这些可以应用于文件或项目,BTW。

答案 1 :(得分:12)

git log [filename]。如果您想查看更改内容,git log -p [filename]

答案 2 :(得分:3)

SVN记录单个文件

  

svn log filename.php

SVN差异修改版本1033和1191之间的文件

  

svn -r 1033:1191 diff filename.php

答案 3 :(得分:2)

就SVN而言,如果当前版本中不存在相关文件,您还需要指定一个挂钩版本:

svn log path@some_revision_where_the_path_existed

如果省略了peg修订版,则默认为HEAD(对于url)或BASE(对于工作副本路径)。

另请注意,如果文件已被删除并随后复活而没有历史记录将其连接到旧文件(无论信不信,我已经看到这种技术在应用深度重构或技术转换时有充分理由应用) ,svn日志只会显示与该特定挂钩版本相关的更改。

如果要查看与特定路径关联的所有更改,则必须执行存储库根目录的svn log -v,然后按更改的路径筛选结果。

答案 4 :(得分:2)

Git:如果文件从当前分支中删除(或者被Git看作是一个模棱两可的参数):

git log -- [filename]