现在开始git大多数用户都经历过subversion,对于这两种开关的版本控制系统需要一段时间去适应。本文旨在帮助恢复一些,这些用户都熟悉的日志记录买家的习惯。
我们要熟悉一个详细的例子git中log的命令的使用。
情景:
1、当前版本号的代码编译执行出现了一个棘手的问题。我们打算查阅近期的提交改动看是否有头绪:
git log --stat
在提交记录我们能够看到每一次commit。都有哪些文件发生了改变。这里简洁的列出了相关文件基本信息。
2、我们打算查看某个文件在某次提交中的改动:
git show <hashcode> <filename>
这里的hashcode就是你想要查看的节点的哈希值。也就是图中黄色字体commit后的一串代码。
3、我们分析后发现不是这几次的改动造成的,所以我们希望查看这个文件全部的提交记录。
查看仅这个文件的全部历史记录:
git log --pretty=oneline <filename>
4、在某些情况下我们可能希望查看目标文件两个版本号之间的差异。
查看这个文件**随意两个版本号的差异**:
git diff <hashcode-before-right> <hashcode> <filename>
注意:filename在提交记录中的文件路径可能已经被缩略,我们在写filename一定要写上完整路径,但不该是绝对路径。
补充两点
团队开发或者做Code Review的时你可能须要用到:
查看某个文件的包括提交人员,日期、版本号号等记录信息。不包括改动详情:
git whatchanged <filename>
在review时查看某次提交改动详情:
git show <hashcode>
也能够用
git log -p <hashcode>
熟悉如上命令,我们基本能够轻松依照subversion的习惯查阅版本号提交和代码改动记录了。
版权声明:本文博主原创文章。博客,未经同意不得转载。