有時候不小心在git中rm了檔案。怎麼恢復呢?別急,咱們一步步來。
首先git status一把,看看此時工作區的狀態
[***@*** static_files]$ git status
# on branch master
nothing to commit (working directory clean)
可見此時沒有任何修改的內容。
再看看具體有什麼
***@*** static_files]$ ls
abbr_data breakfast_data room_type_data
此時總計有三個檔案。ok,讓我們乾掉其中乙個
[***@*** static_files]$ git rm abbr_data
rm 'static_files/abbr_data'
[***@*** static_files]$ git status
# on branch master
# changes to be committed:
# (use "git reset head ..." to unstage)
## deleted: abbr_data
#[***@*** static_files]$ ls
breakfast_data room_type_data
此時工作區的檔案就只剩兩個了,abbr_data這個檔案,已經被我們乾掉。
如果我們想要恢復,怎麼辦呢?
[***@*** static_files]$ git checkout -- abbr_data
error: pathspec 'static_files/abbr_data' did not match any file(s) known to git.
直接checkout,是不行的。
那怎麼辦呢?其實在git status中,已經告訴我們怎麼辦了。
[***@*** static_files]$ git reset head abbr_data
unstaged changes after reset:
m static_files/abbr_data
用reset命令,先將abbr_data這個檔案找回來。
[***@*** static_files]$ git status
# on branch master
# changed but not updated:
# (use "git add/rm ..." to update what will be committed)
# (use "git checkout -- ..." to discard changes in working directory)
## deleted: abbr_data
#no changes added to commit (use "git add" and/or "git commit -a")
再checkout一把
[***@*** static_files]$ git checkout -- abbr_data
[***@*** static_files]$
看到checkout以後沒有任何提示,這事就成了。因為git的哲學跟unix的哲學一樣,沒訊息就是最好的訊息。。。
再ls一下,果然,abbr_data找回來了。
[***@*** static_files]$ ls
abbr_data breakfast_data room_type_data
恢復不小心刪除的git庫上檔案 git常見後悔藥
撤銷本地全部沒有git add過的修改 git checkout 使用庫上檔案覆蓋本地修改 當然是指用本地庫覆蓋 git checkout file name 回退掉某一次commit,回退方式是自動生成乙個反向的commit,不會影響其他commmitgit revert commitid 將gi...
電腦不小心刪除的檔案怎麼恢復?
電腦不小心刪除的檔案怎麼恢復?在我們用電腦的時候,不可避免的會不小心刪除重要的檔案,但是不要著急,因為電腦資料不是刪掉就恢復不了的東西,可以採用一些合適的方法,我們就能找回檔案了。先給大家介紹第一種方法 借助登錄檔恢復。利用系統登錄檔進行恢復 第一步 開啟電腦,輸入win r鍵,並開啟執行視窗,輸入...
電腦不小心刪除的檔案怎麼恢復?
電腦不小心刪除的檔案怎麼恢復?在我們用電腦的時候,不可避免的會不小心刪除重要的檔案,但是不要著急,因為電腦資料不是刪掉就恢復不了的東西,可以採用一些合適的方法,我們就能找回檔案了。先給大家介紹第一種方法 借助登錄檔恢復。利用系統登錄檔進行恢復 第一步 開啟電腦,輸入win r鍵,並開啟執行視窗,輸入...