天天看點

git 使用 TortoiseGit 硬重置 回退上一個版本 commit的檔案被删除了 ,教你怎麼恢複

突然想着把之前的學習代碼和筆記更新都上傳到遠端github倉庫,使用TortoiseGit圖形化軟體

但是遇到了一個問題,解決耗費了很多時間

問題:因為我本地磁盤新增了許多的檔案,我一次性commit,commit成功,但是push上傳失敗,出現了提示:

error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 Request Entity Too Large

網上找不到好的方法,我就回退到上一個本地倉庫的版本,希望把那個commit都撤銷掉,重新分多次來commit

【檢視日志】,選擇上一個版本,

右鍵選擇【重置master到這個版本】,然後我當時傻不拉幾的選擇了【硬重置】,上次的commit确實都撤銷掉了,

但是本地磁盤上的想要commit的檔案也都删除了!!!吓得我半死呀!!

然後我各種找方法,沒有找到直接的辦法。但是我發現【檢視日志】上仍然還有我commit的那個版本,我再選擇它,

右鍵選中【浏覽版本庫】,發現裡面還有我之前的那些檔案,然後,我再選擇那些檔案(選擇檔案夾無效),

右鍵選中【還原到此版本】,奇迹就發生了,磁盤上就出現了那些檔案,而且它所在的目錄都出現了,還原到沒有commit

的狀态。

上面是解決辦法之一,另外我摸索出還有一個方法,就是【檢視日志】上仍然還有commit的那個版本的話,你就選擇它,

右鍵選中【導出這個版本】,它是将那個版本的倉庫裡所有的檔案夾和檔案都導出,為一個zip壓縮檔案,你選擇一個存放

目錄即可。成功後再解壓這個檔案,找出之前删除的檔案,或者把所在的整個目錄,都複制到之前的本地git倉庫相同的位置

這樣也是一種很好的方法。