GIT笔记

21.查看不一样版本直接的变更和差别
  
   情景:某次将本身的分支版本和远程master合并解决冲突后发现之前可以正常运行的程序的没法正常运行了
        但又忘记合并解决冲突时修改了哪些代码。
  
   解决方案:
   1- 经过git log 查找某次commit的hash值
      git log --graph --oneline --decorate
      ![](https://images0.cnblogs.com/blog2015/434879/201504/291038262401017.png)git

   2- 查看那些文件发生了变化(HEAD是当前分支版本能够换成其余的)
      git diff 2fcbff8..HEAD  --statblog

   3- 查看具体变化
      git diff 2fcbff8..HEAD   
   get

   4-查看文件的每个详细的历史修改,若是没有-p选项,只显示提交记录,不显示文件内容修改hash

      git log –p filenameit

      git log –p –3 filename    //显示ast

   5- 查看文件的每一行是哪一个提交最后修改的test

      git blame filenamefile

   6- 查看载入但并未提交的文件差别程序

      git diff --stagedim

      git diff 和git log -p效果是同样的

   7- 列出某个文件的具体修改历史而后再经过commit的hash值查看某次改动的具体修改

       git log --oneline test.cpp

       git show 12e9624cae843f2b5    //某个具体修改的hash值

 

   8- 查看载入但并未提交的变动

       git diff --stage

 

   9- 在合并某分支前查看变动内容

       git diff dev...master

      

22.文件删除与重命名

       git rm test.cpp   //删除,这与直接rm掉是有区别的

       git mv test.cpp test.hpp  //重命名,这两个操做记得都要提交哦

 

23.文件恢复

       git reset 9aa51d89799716aa68cff3f test.cpp   //经过hash恢复到某个历史版本

       git reset test.cpp  //没有提交的话能够恢复到当前版本HEAD.....完善中

相关文章
相关标签/搜索