git 版本回退

轉載請出自出處:http://eksliang.iteye.com/blog/2249441

一.查看git提交的歷史信息

git log命令顯示從最近到最遠的提交日誌


 

如果嫌輸出信息太多,可以試試加上--pretty=oneline參數,代碼如下:

 

Java代碼  收藏代碼
  1. $ git log --pretty=oneline  
  2. c7b8b201284777366e2cf21d7f104eac123211a8 update add spark  
  3. 038491dda6a7982ae02bbb1c85908c4eabf0f639 update hadoop  
  4. 557dd6f51ebaf4d7ab2b50e10411701b749d1c8d add hadoop  

 

 

二.版本回退(回退到過去)

  • 第一種:根據head^來確定回退版本

首先,Git必須知道當前版本是哪個版本,在Git中,用HEAD表示當前版本,上一個版本就是HEAD^,上上一個版本就是HEAD^^,當然往上100個版本寫100個^比較容易數不過來,所以寫成HEAD~100。

參考實例:回退到上一個版本

 

Java代碼  收藏代碼
  1. $ git reset --hard HEAD^  
  2. HEAD is now at 038491d update hadoop  

 

 

  • 第二種:根據版本ID來確定回退版本
Java代碼  收藏代碼
  1. #查看提交的歷史版本信息    
  2. $ git log --pretty=oneline    
  3. c7b8b201284777366e2cf21d7f104eac123211a8 update add spark    
  4. 038491dda6a7982ae02bbb1c85908c4eabf0f639 update hadoop    
  5. 557dd6f51ebaf4d7ab2b50e10411701b749d1c8d add hadoop    
  6.   
  7. #回退到038491dda6a7982ae02bbb1c85908c4eabf0f639 update hadoop這個版本</span>    
  8. $ git reset --hard 038491dda6a7982ae02bbb1c85908c4eabf0f639    
  9. HEAD is now at 038491d update hadoop    
  10.     
  11. #再次查看歷史記錄,發現前面的版本沒有了!    
  12. $ git log --pretty=oneline    
  13. 038491dda6a7982ae02bbb1c85908c4eabf0f639 update hadoop    
  14. 557dd6f51ebaf4d7ab2b50e10411701b749d1c8d add hadoop   

 

 

三.版本回退(回退到未來)

從上個例子中,可以看出來,當使用git reset 回退到過去版本時,那麼git log 會看不到當前版本的後面提交信息,怎麼辦!

答:使用git reflog 可以查看執行命令的歷史信息

參考實例:回退到未來

Java代碼  收藏代碼
  1. #查看執行的歷史命令,前面的那個編號,就是可以選擇的版本號  
  2. $ git reflog  
  3. 038491d HEAD@{0}: reset: moving to 038491dda6a7982ae02bbb1c85908c4eabf0f639  
  4. c7b8b20 HEAD@{1}: reset: moving to c7b8b20  
  5. 557dd6f HEAD@{2}: reset: moving to 557dd6f51ebaf4d7ab2b50e10411701b749d1c8d  
  6. 038491d HEAD@{3}: reset: moving to HEAD^  
  7. c7b8b20 HEAD@{4}: commit: update add spark  
  8. 038491d HEAD@{5}: commit: update hadoop  
  9. 557dd6f HEAD@{6}: commit (initial): add hadoop  
  10.   
  11. #回退到未來  
  12. $ git reset --hard c7b8b20  
  13. HEAD is now at c7b8b20 update add spark  
  14.   
  15. #再次查看提交的歷史信息果然又有了3個  
  16. $ git log --pretty=oneline  
  17. c7b8b201284777366e2cf21d7f104eac123211a8 update add spark  
  18. 038491dda6a7982ae02bbb1c85908c4eabf0f639 update hadoop  
  19. 557dd6f51ebaf4d7ab2b50e10411701b749d1c8d add hadoop 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章