GIT笔记

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

   2- 查看那些文件发生了变化(HEAD是当前分支版本可以换成其他的)
      git diff 2fcbff8..HEAD  --stat

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

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

      git log –p filename

      git log –p –3 filename    //显示

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

      git blame filename

   6- 查看载入但并未提交的文件差异

      git diff --staged

      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
.....完善中

posted @ 2015-05-13 11:28  阿木木在发呆  阅读(109)  评论(0编辑  收藏  举报