撤銷命令: 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查看一下,歷史提交記錄只剩下第一次了(因為雖然我提交了很多次,但是我恢復到了第一次提交時的狀態)
此時再去本地的工作目錄內查看,也只能看見第一次提交時的文件及內容了