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
  • 相关阅读:
    UVALive
    BZOJ2120:数颜色(数状数组套主席树)(带修改的莫对)
    BZOJ-3439:Kpm的MC密码(Trie+DFS序+主席树)
    51nod1674:区间的价值2(分治,利用&和|的收敛性)
    [CQOI2009]DANCE跳舞
    [HNOI2006]超级英雄
    Luogu1613 跑路
    [HZOI 2016]公路修建
    [NOI2014]魔法森林
    [HAOI2006] 旅行
  • 原文地址:https://www.cnblogs.com/sparkdev/p/5745863.html
Copyright © 2011-2022 走看看