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

相關文章
相關標籤/搜索