zoukankan      html  css  js  c++  java
  • Git 查看文件的历史

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


    查看某个文件的修改历史

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

    $ git log -- begin.txt

    可以添加不同的选项让输出的内容或格式有所不同。

    $ 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 命令:

    $ git show xxxxx:filename

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

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

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

    比较历史中不同的文件版本

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

    $ git diff xxxx1 xxxx2 -- filename
  • 相关阅读:
    在vs2010里使用EF4.3的Code First个人使用笔记
    如何充分利用C#匿名方法的平台优势(转)
    打开Microsoft SQL Server Management Studio 2005非常慢,特别慢的原因
    PowerShell msbuild
    很久没写了
    第一篇博客,逗大家一笑
    以编程方式调用按钮1(button1)的 Click 事件
    VS2010删除已安装的联机模板
    创建和分享你的Visual Studio color
    异步获取CMD命令行输出内容
  • 原文地址:https://www.cnblogs.com/sparkdev/p/5745863.html
Copyright © 2011-2022 走看看