git 撤銷\刪除\恢復某次提交記錄


撤銷命令: git  checkout  文件名。

作用:將暫存區的文件拉下來覆蓋本地工作目錄內的文件內容

刪除命令:git  rm --cached  文件名。將文件從暫存區內刪除

作用:在不知情的情況下提交了垃圾文件到暫存區中,因此盡量不要隨意添加文件到暫存區中,請及時刪除掉垃圾文件

恢復命令:git  reset  --hard  commitID

作用:在git倉庫內進行將 某一個更新記錄恢復,並覆蓋暫存區和工作目錄

-----------------------------------------------------------------------------------------------------------------

以下為具體操作:

1、撤銷:

撤銷命令: git  checkout  文件名

作用:將暫存區的文件拉下來覆蓋本地工作目錄內的文件內容

操作:

在本地工作目錄中:新建文件list1.html,內容為123456,此時打開進入git 命令行內

查看狀態:git status,可見當前list1.HTML未被git跟蹤,

此時將其添加到暫存區,讓git進行跟蹤管理這個文件:git  add  list1.html,再查看狀態可見,list1.html文件已經是被添加到暫存區內,且被git跟蹤管理了

 

如果這時發現本地電腦工作目錄內的list1.html文件內寫了很多無用的東西,但是不知道該刪哪些內容,有沒有什么直接的方式呢?

這時候就可使用  撤銷命令:git checkout list1.html       

 

2、將文件從暫存區內刪除git  rm --cached  文件名

(原因:在不知情的情況下提交了垃圾文件到暫存區中,因此盡量不要隨意添加文件到暫存區中,請及時刪除掉垃圾文件)

 

具體操作:

先查看狀態:git  status 

然后刪除暫存區內某個文件:git  rm  --cached  test.html

然后再查看狀態:git  status(可見暫存區內的test.html文件已經不存在了,被刪除掉了)

 

注意:這個地方的“刪除”不要理解錯誤了,這個刪除只針對“暫存區”內刪除,

而刪除成功后,文件就不被git跟蹤管理了,但文件還是處於本地的工作目錄內

3、git倉庫內指定的更新記錄恢復,並覆蓋暫存區和工作目錄:git  reset  --hard  commitID

比如這時候提交了ABCD幾次文件,但是后面發現就只有A次提交的是正常的,BCD次都有錯誤,

我想要恢復到前面A次提交記錄的狀態,那么該怎么辦?

步驟:

1、先添加文件到暫存區內 git  add  test.html

然后提交到git倉庫:git  commit  -m  第一次提交(提交備注信息,必須寫)

再添加文件到暫存區內: git  add  index.html

然后提交到git倉庫:git  commit  -m  第二次提交(提交備注信息,必須寫)

使用Git status查看一下狀態,可見緩存區內沒有文件了

2、然后此時發現有問題了,但是這都提交了好幾次文件內容了,想要恢復到第一次提交的狀態怎么辦?

那么就可以輸入命令恢復到指定的某一次提交時狀態:git  reset  --hard  某一次提交的commitID  注意:這里的commitID可以通過 命令:git log 查看)

接着輸入命令:git  reset  --hard  第一次提交的commitID(直接鼠標粘貼復制即可)

3、恢復完成后, 再輸入:git log查看一下,歷史提交記錄只剩下第一次了(因為雖然我提交了很多次,但是我恢復到了第一次提交時的狀態)

此時再去本地的工作目錄內查看,也只能看見第一次提交時的文件及內容了

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM