Git 查看文件的历史

用惯了tfs,刚一接触git感受很不顺手,特别是一些很基本的操做,用起来都怪怪的(多是不习惯命令行的缘由吧)。
下面把查看文件历史的用例小结一下。git


查看某个文件的修改历史

在git中查看历史的命令主要是git log,要查看某个文件的修改历史能够这样:工具

$ git log -- begin.txt

能够添加不一样的选项让输出的内容或格式有所不一样。spa

$ git log -p -- begin.txt

-p 选项能够输出每次提交中的diff, 但我的感受会把输出搞得很长、很乱,不容易找到重点。
我的比较喜欢的方式是:命令行

$ git log --pretty=oneline -- filename

在log 命令中加入 --pretty=oneline 选项会让结果看起来清爽一些,可是只能看到comments,看不到提交的用户和日期。
这也可以让咱们集中注意力快速找到关注的提交记录。
而后使用 git show命令查看完整的提交内容。

固然,除了命令行工具您也可使用GUI程序查看文件的历史记录:
gitk filename版本控制


查看历史中的文件内容

当咱们使用 git log 命令找到了某次提交,而且想看看此次提交时文件的完整内容。
这时,咱们须要使用 git show 命令:code

$ git show xxxxx:filename

也许此时你并非看看就算了,你想要使用这个版本的文件更新工做区中的文件。
直接从 git show 命令的输出中拷贝内容是个不错的选择。
但也能够经过组合使用不一样的命令来实现:blog

$ git checkout <commit> --filename
$ git reset filename

此时只有工做区被更新了(你也能够把他当作是一次回滚操做)。

比较历史中不一样的文件版本

咱们常常使用版本控制工具来对比提交历史中的两个文件,下面看看用 git 怎么作:it

$ git diff xxxx1 xxxx2 -- filename
相关文章
相关标签/搜索