如何查看某个文件的 git 代码变更历史?
发布于 作者:苏南大叔 来源:程序如此灵动~以前使用tortoisesvn
的时候,苏南大叔有个特别喜欢的功能,就是查看某个文件的提交历史,然后对比看看前后都修改了一些什么代码。现在从win
下的svn
,迁移到mac
下的git
之后。查看某个文件的历史,也变得很痛苦麻烦了。
那么如何才能更快捷方便地查看某个文件的更新历史呢?苏南大叔给出了以下几种方案。大家可以都试试。
使用sourcetree
的搜索功能
在sourcetree
的主界面上,左侧菜单里面有个workspace
子菜单,有个搜索
功能,可以搜索文件的提交历史信息。关键词是每次commit
的时候,大家填写的信息。然后就可以看到该次提交的所有的文件了,然后在左下角的列表中,可以使用右键菜单,查看文件的提交历史。
或者在每次的提交列表中,查找到相关文件的列表(目录),然后就右键菜单,查看历史。思路就是:在目标文件上或者周围,做点小改动,以期待提交列表中,出现对应列表。然后就可以调用右键菜单,查看历史了。
使用编辑器的集成功能(推荐)
利用常见的编辑器,比如webstorm
/phpstrom
/idea
等编辑器,这个方案比较容易,因为本来左侧就有列表,找到列表,点击右键,Git
=>show history
。就可以在界面下方,看到列表了。然后双击列表,就可以查看历史log
细节了。
也可以,直接右键,使用Local History
=>Show History
菜单。弹出的列表框比上述方案更友好些。不过,两个Histroy
的结果,是有一些差异的,读者可以自行体会。
直接使用git log
命令
cd
到项目的根目录下面,然后执行下面的git log
命令,可以查看文件的修改记录。
git log <文件名>
回显信息类似如下:
commit 97255366931a409495c0bc307c11be39eb0c3230
Author: sunan <sunan@sunan.com>
注意查看里面的commit
值,这个就是<logid>
。这个值就是苏南大叔查看log
的依据。
git show <logid>
这个时候会进入一种奇怪模式,使用q
才能退出当前的模式,使用enter
可以查看下部分内容。
总结
sourcetree
里面的一些功能,还是有些地方,不是那么智能的。结合git
这个命令行工具,才能比较完美的实现需求。
更多git
相关经验文章,请点击苏南大叔的文章查看。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。