ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

10-git log 查看历史记录

10-git log 查看历史记录 之前说到过git log可以查看历史记录git log事实上如果你希望看到更多细节比如你想看看每条commit具体都有那些改动也是可以的。log -p 查看详细历史-p是--patch的缩写通过-p参数你可以看到具体每个commit的改动细节git log -plog -p可以看到每一个commit的每一行改动所以很适合用于代码 review。log --stat 查看简要统计如果你只想大致看一下改动内容但并不想深入每一行的细节例如你想回顾一下自己是在哪个commit中修改了games.txt文件那么可以把选项换成--stat。git log --statshow 查看具体的 commit如果你想看某个具体的commit的改动内容可以用show看当前 commit直接输入git show看任意一个 commit在show后面加上这个commit的引用branch或HEAD标记或它的SHA-1码git show 5e68b0d8看指定 commit 中的指定文件在commit的引用或SHA-1后输入文件名git show 5e68b0d8 shopping\ list.txt看未提交的内容如果你想看未提交的内容可以用diff。比对暂存区和上一条提交使用git diff --staged可以显示暂存区和上一条提交之间的不同。换句话说这条指令可以让你看到「如果你立即输入git commit你将会提交什么」git diff --staged--staged有一个等价的选项叫做--cached。这里所谓的「等价」是真真正正的等价它们的意思完全相同。比对工作目录和暂存区使用git diff不加选项参数可以显示工作目录和暂存区之间的不同。换句话说这条指令可以让你看到「如果你现在把所有文件都add你会向暂存区中增加哪些内容」git diff比对工作目录和上一条提交使用git diff HEAD可以显示工作目录和上一条提交之间的不同它是上面这二者的内容相加。换句话说这条指令可以让你看到「如果你现在把所有文件都add然后git commit你将会提交什么」不过需要注意没有被 Git 记录在案的文件即从来没有被 add 过 的文件untracked files 并不会显示出来。为什么因为对 Git 来说它并不存在啊。git diff HEAD实质上如果你把HEAD换成别的commit也可以显示当前工作目录和这条commit的区别。不过这种「如果」是可以列举很多很多的Git 非常灵活假如我把每个命令的所有可能性都列举出来这本小册会变得杂乱无比没有重点反而会让你困惑。所以我只讲最常用和最通用的内容如果你对这些「如果」感兴趣最好是自己去探索。小结这一节介绍了一些查看改动内容的方法大致有这么几类查看历史中的多个commitlog查看详细改动git log -p查看大致改动git log --stat查看具体某个commitshow要看最新commit直接输入git show要看指定commit输入git show commit的引用或SHA-1如果还要指定文件在git show的最后加上文件名查看未提交的内容diff查看暂存区和上一条commit的区别git diff --staged或--cached查看工作目录和暂存区的区别git diff不加选项参数查看工作目录和上一条commit的区别git diff HEAD
返回列表