先新增乙個新檔案test.txt
到git並且提交:
一般情況下,你通常直接在檔案管理器中把沒用的檔案刪了,或者用rm
命令刪了
$ rm test.txt
這個時候,git知道你刪除了檔案,
因此,工作區和版本庫就不一致了,
git status
命令會立刻告訴你哪些檔案被刪除了:
現在你有的選擇:
情況一 是確實要從版本庫中刪除該檔案,那就用命令git rm
刪掉,
並且git commit
:
現在,檔案就從版本庫中被刪除了。
情況二 另一種情況是刪錯了,並且還沒有add到暫存區
因為版本庫里還有呢,所以可以很輕鬆地把誤刪的檔案恢復到最新版本:
只是在工作區刪除了
可以使用git checkout 命令從 版本庫 恢復
$ git checkout -- test.txt
( 恢復全部用 git checkout . )
情況三 刪錯了, 而且已經add到暫存區了, 但是還沒有提交 想恢復
參考git 時光穿梭雞 撤銷修改
中的工作區內容修改了, 並且已經add到暫存區了, 想回退到上乙個版本
用命令git reset head
>>>>>>>>可以 把暫存區的修改撤銷掉(unstage),並且 重新放回工作區:
git reset
命令既可以回退版本,也可以把暫存區的修改回退到工作區。
當我們用head
時,表示最新的版本。
git reset head test.txt 回退單個檔案
git reset head 全部回退
再用git status
檢視一下,現在暫存區是乾淨的,工作區有修改:
再使用git checkout . 或git checkout --test.txt
丟棄工作區的修改
現在工作區同版本庫一致了
>>>>>>>>>>>補充 批量刪除檔案
參考git批量刪除檔案和批量提交
>>>>如果你用的rm刪除檔案,那就相當於只刪除了工作區的檔案 想恢復,參考上面情況二
>>>>如果你用的是git rm刪除檔案,那就相當於不僅刪除了檔案,而且還新增到了暫存區
想恢復,參考上面情況三
新建目錄 removetest 並在其中新建兩個檔案
add 到暫存區
commit到版本庫
批量刪除方法一:(如果是刪除當前資料夾下所有檔案,方法一將刪除該空資料夾一併刪除,不會保留資料夾)
操作:(cd 到你要刪除的目錄下或者 * 可用「」資料夾名「」代替) -r 代表 recursively(遞迴)
$ git rm * -r檢視一下狀態此時 removetest下的檔案 連同 該目錄 都被刪除了 此次刪除發生在工作區 和 暫存區( 如果想撤銷此次刪除 ,參考上面情況三$ git commit -m "clear"
$ git rm removetest -r
)
commit提交此次刪除 , 此時版本庫中也刪除了
(如果想撤銷 , 見底部鏈結)
方法二:手動在檔案管理器中刪除批量檔案,然後執行命令:(如果是刪除當前資料夾下所有檔案,方法二仍會保留該空資料夾)$ git add .現在,假設你不但改錯了東西,還從暫存區提交到了版本庫,怎麼辦呢?git入門 時光穿梭雞 版本回退 工作區 暫存區 參考其中的版本回退內容$ git commit -m "clear"
git批量刪除檔案和批量提交
1.單個刪除檔案 通常直接在檔案管理器中把沒用的檔案刪了,或者用rm命令刪了 可選操作,可直接執行 刪除 rm test.txt 確實要從版本庫中刪除該檔案,那就用命令git rm刪掉,並且 git commit git rm test.txt git commit m remove test.tx...
git批量刪除檔案和批量提交
1.單個刪除檔案 通常直接在檔案管理器中把沒用的檔案刪了,或者用rm命令刪了 可選操作,可直接執行 刪除 rm test.txt 確實要從版本庫中刪除該檔案,那就用命令git rm刪掉,並且 git commit git rm test.txt git commit m remove test.tx...
Git 時光穿梭機之刪除檔案06
在git中,刪除也是乙個修改操作,我們實際操作一下吧,先新增乙個檔案test.txt到git並且提交 git add test.txt git commit m add test.txt master cc0f8c9 add test.txt 1 file changed,0 insertions ...