git 還原版本

2021-06-27 06:49:46 字數 2062 閱讀 3528

reset命令有3種方式:

git reset --mixed:此為預設方式,不帶任何引數的git reset,即時這種方式,它回退到某個版本,只保留原始碼,回退commit和index資訊

git reset --soft:回退到某個版本,只回退了commit的資訊,不會恢復到index file一級。如果還要提交,直接commit即可

git reset --hard:徹底回退到某個版本,本地的原始碼也會變為上乙個版本的內容

以下是一些reset的示例:

(1) 回退所有內容到上乙個版本  

git reset head^  

(2) 回退a.py這個檔案的版本到上乙個版本  

git reset head^ a.py  

(3) 向前回退到第3個版本  

git reset –soft head~3  

(4) 將本地的狀態回退到和遠端的一樣  

git reset –hard origin/master  

(5) 回退到某個版本  

git reset 057d  

(7) 回退到上一次提交的狀態,按照某一次的commit完全反向的進行一次commit  

git revert head   

在本地開發了乙個版本,然後加入某些**, git commit 之後再 git push 與遠端版本庫同步,這時出現乙個問題,在這次 git commit 之前的版本內容如何找回?

首先git log顯示提交的歷史

[plain]view plain

copy

print?

commit ee50348120302b19318ab6a564d4092dd87a85ef  

author: shichaoxu 

date:   mon jun 3 15:18:16 2013 +0800  

support for printf  

commit e7a5e492c742a7b68c07f124edd4b713122c0666  

author: shichaoxu 

date:   tue may 7 15:44:11 2013 +0800  

del file lib/2440slib.s init/2440init.s  

commit 5a05f002ef1dfbbf118b2ffd7b829159b727ce16  

author: shichaoxu 

date:   tue may 7 15:26:30 2013 +0800  

change file name lib/2440slib.s init/2440init.s to lib/2440slib.s init/2440init.s  

commit a948e62c9eabd54bfc4de3c4dfd14b4fc2bb48dd  

author: shichaoxu 

date:   tue may 7 15:06:17 2013 +0800  

add code for this project  

commit 59a902efdef8fb3dd47264df8a666de7026d1595  

author: shichaoxu 

date:   mon may 6 23:15:01 2013 -0700  

initial commit  

然後用 

[plain]view plain

copy

print?

~/gun-ucos$$git reset --hard e7a5e492c742a7b68c07f124edd4b713122c0666  

顯示如下

[plain]view plain

copy

print?

head is now at e7a5e49 del file lib/2440slib.s init/2440init.s  

此時正常回到git commit    "support for printf" 之前的狀態!

git 幾種還原版本 如何在Git中撤消提交

大多數人都不知道軟體開發人員的生命會是多麼危險 您可以刪除錯誤的檔案,將 編碼到完全錯誤的方向,或者一次提交就弄亂整個專案。因此,我發現在出現問題時,多次擁有強大的安全網非常寶貴。使用git作為版本控制系統,您將擁有這樣的安全網 確實是乙個非常強大的網路。在本文中,我將向您簡要介紹git如何幫助您消...

git 幾種還原版本 半小時學會使用Git(一)

關於git和github,相信凡是工作或者學習跟程式設計擦了點邊的人,都早已經耳熟能詳。即便不用,但肯定會聽人提起,而且一旦被人提起,那多半就是會被交口稱讚的。不巧的是,我就是乙個對程式設計有點興趣,喜歡自己鼓搗程式設計,另外也曾多次聽人說到過svn git的大名。按照我的慣例,今天這篇文章的背景可...

git 幾種還原版本 詳細介紹下git中的多種撤銷

前面我們介紹過主流版本控制系統git和svn的區別,參考 手把手教你入門git,下面我們再介紹下git中關於各種撤銷的操作流程。當你在git倉庫中進行一次新的提交的時,git儲存這個特定時間的倉庫的快照,並生產乙個唯一串與本次提交相對應。之後,就可以利用 git返回到專案的乙個早期版本。下面我們說一...