如何让Git显示文件的版本历史记录

win*_*ige 2 tags git history file version

我过去一直是CVS用户,虽然我认为Git是一个很好的版本控制系统,但我错过了我在CVS中的功能.具体来说,我想查看文件的版本历史记录,例如其上的标记.我怎么能在Git中做到这一点?

Jan*_*dec 5

在git文件中没有自己的历史记录.整个项目有一段历史.因此,您唯一可以要求的是与文件相关的历史部分,或者更确切地说(因为文件标识没有特殊的概念).显示命令的所有历史记录都接受路径限制器.喜欢:

$ git log -- file
$ gitk HEAD -- file
Run Code Online (Sandbox Code Playgroud)

--从路径分离的修订版.在大多数情况下可以省略它,但如果名称也是有效的修订名称或者当前版本中不存在该文件,则可能需要它.

您也可以指定目录名称,在这种情况下,将列出该子树中所有文件的历史记录.

由于这是按路径限制的,如果文件已重命名,则不会跟随.毕竟,git不存储任何有关重命名的显式信息.然而,它可以猜测重命名,你可以要求log尝试跟随重命名,--follow如:

$ git log --follow -- file
Run Code Online (Sandbox Code Playgroud)

这仅适用于单个文件,而不适用于目录.

另一个选项是查找包含特定文本的更改,如果您在查找某些代码时,这通常更容易.使用-S选项记录如下:

$ git log -Stext
Run Code Online (Sandbox Code Playgroud)