轻松使用git命令查看版本记录

 

目前开始使用git的用户大部分都经历过subversion,对于这两种版本管控系统的切换需要一定时间去适应。本文旨在帮助这些用户恢复部分熟悉的日志查阅习惯。



我们以一个具体的实例来熟悉git中log的命令的使用。 

情景: 

1、当前版本的代码编译运行出现了一个棘手的问题,我们打算查阅最近的提交修改看是否有头绪:

git log --stat


  • git-命令查看版本记录_历史记录
    在提交记录我们可以看到每一次commit,都有哪些文件发生了改变,这里简洁的列出了相关文件基本信息。

2、我们打算查看某个文件在某次提交中的修改

git show <hashcode> <filename>


git-命令查看版本记录_文件路径_02

这里的hashcode就是你想要查看的节点的哈希值,也就是图中黄色字体commit后的一串代码。

3、我们分析后发现不是这几次的修改造成的,所以我们希望查看这个文件所有的提交记录。 

查看仅这个文件的所有历史记录

git log --pretty=oneline <filename>


4、在某些情况下我们可能希望查看目标文件两个版本之间的差异。查看这个文件**任意两个版本的差异**:

git diff <hashcode-before-right> <hashcode> <filename>


注意:filename在提交记录中的文件路径可能已经被缩略,我们在写filename一定要写上完整路径,但不该是绝对路径。

补充两点

团队开发或者做Code Review的时你可能需要用到: 

查看某个文件的包含提交人员,日期、版本号等记录信息,不包括修改详情

git whatchanged <filename>


git-命令查看版本记录_绝对路径_03

在review时查看某次提交修改详情

git show <hashcode>


也可以用

git log -p <hashcode>