如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接信息。

以前使用tortoisesvn的时候,苏南大叔有个特别喜欢的功能,就是查看某个文件的提交历史,然后对比看看前后都修改了一些什么代码。现在从win下的svn,迁移到mac下的git之后。查看某个文件的历史,也变得很痛苦麻烦了。

那么如何才能更快捷方便地查看某个文件的更新历史呢?苏南大叔给出了以下几种方案。大家可以都试试。

如何查看某个文件的 git 代码变更历史? - github

如何查看某个文件的 git 代码变更历史?(图7-1)

使用sourcetree的搜索功能

sourcetree的主界面上,左侧菜单里面有个workspace子菜单,有个搜索功能,可以搜索文件的提交历史信息。关键词是每次commit的时候,大家填写的信息。然后就可以看到该次提交的所有的文件了,然后在左下角的列表中,可以使用右键菜单,查看文件的提交历史。

如何查看某个文件的 git 代码变更历史? - sourcetree-log

如何查看某个文件的 git 代码变更历史?(图7-2)

或者在每次的提交列表中,查找到相关文件的列表(目录),然后就右键菜单,查看历史。思路就是:在目标文件上或者周围,做点小改动,以期待提交列表中,出现对应列表。然后就可以调用右键菜单,查看历史了。

如何查看某个文件的 git 代码变更历史? - sourcetree_menu2

如何查看某个文件的 git 代码变更历史?(图7-3)

使用编辑器的集成功能(推荐)

利用常见的编辑器,比如webstorm/phpstrom/idea等编辑器,这个方案比较容易,因为本来左侧就有列表,找到列表,点击右键,Git=>show history。就可以在界面下方,看到列表了。然后双击列表,就可以查看历史log细节了。

如何查看某个文件的 git 代码变更历史? - log方案1

如何查看某个文件的 git 代码变更历史?(图7-4)

如何查看某个文件的 git 代码变更历史? - log方案1-2

如何查看某个文件的 git 代码变更历史?(图7-5)

也可以,直接右键,使用Local History=>Show History菜单。弹出的列表框比上述方案更友好些。不过,两个Histroy的结果,是有一些差异的,读者可以自行体会。

如何查看某个文件的 git 代码变更历史? - log方案2

如何查看某个文件的 git 代码变更历史?(图7-6)

直接使用git log命令

cd到项目的根目录下面,然后执行下面的git log命令,可以查看文件的修改记录。

git log <文件名>

回显信息类似如下:

commit 97255366931a409495c0bc307c11be39eb0c3230
Author: sunan <sunan@sunan.com>

注意查看里面的commit值,这个就是<logid>。这个值就是苏南大叔查看log的依据。

git show <logid>

如何查看某个文件的 git 代码变更历史? - git-log

如何查看某个文件的 git 代码变更历史?(图7-7)

这个时候会进入一种奇怪模式,使用q才能退出当前的模式,使用enter可以查看下部分内容。

总结

sourcetree里面的一些功能,还是有些地方,不是那么智能的。结合git这个命令行工具,才能比较完美的实现需求。

更多git相关经验文章,请点击苏南大叔的文章查看。

  【sourcetree】秘籍文章入口,仅传授于有缘之人  sourcetree

欢迎转载传播本篇原创文章,转载请保留链接及作者信息。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

打赏领取小礼物

打赏任意金额,发送截图到邮箱 shang@newsn.net ,可以领取精选回馈如下(任选其一):
  • 《前端视频教程大礼包》一套
  • 《wordpress精选皮肤》一套
  • 《dedecms织梦精选模板》一套
感谢您的打赏,让我更有动力,将更多精彩教程文章,呈现给大家!谢谢!

岁月静好

关注互联网发展,关注苏南大叔的《程序如此灵动~》博客
本文章来自:程序如此灵动~
博客地址为:https://newsn.net/
原文地址为:https://newsn.net/say/git-log.html
上一篇好文:由于 selinux ,导致 nginx 报错 403 错误的解决方案
下一篇好文:soucetree 如何解决 gitignore 文件不生效的问题

如果您转载了本文章,出于某种原因,并没有注明作者或者出处。
在这里,苏南大叔也表示理解和支持。因为苏南大叔深深地明白:
您会在合适的时机,合适的地方,给本博客一个外链。对吧?
您若开心,便是安好!岁月静好,但愿世界和平,没有纷争~