Git 時光穿梭機之刪除檔案06

2022-03-28 02:17:34 字數 1148 閱讀 8215

在git中,刪除也是乙個修改操作,我們實際操作一下吧,先新增乙個檔案test.txt到git並且提交

$ git add test.txt

$ git commit -m "add test.txt"

[master cc0f8c9] add test.txt

1 file changed, 0 insertions(+), 0 deletions(-)

create mode 100644 test.txt 

一般情況下 ,你通常直接在檔案管理器中把沒用的檔案刪了,或者用rm命令刪了:

$ rm test.txt

這個時候,git知道你刪除了檔案,因此,工作區和版本庫就不一致了,git status命令會立刻告訴你哪些檔案被刪除了:

$ git status

on branch master

changes not staged for commit:

(use "git add/rm ..." to update what will be committed)

(use "git checkout -- ..." to discard changes in working directory)

deleted:    test.txt

no changes added to commit (use "git add" and/or "git commit -a")

現在你有兩個選擇,一是確實要從版本庫中刪除改檔案,那就用git rm刪掉,並且git commit:

$ git rm test.txt

rm 'test.txt'

$ git commit -m "remove test.txt"

[master d2319a1] remove test.txt

1 file changed, 0 insertions(+), 0 deletions(-)

delete mode 100644 test.txt

現在檔案就從版本庫中被刪除了

另一種情況是刪錯了,因為版本庫里還有呢,所以可以很輕鬆的把誤刪的檔案恢復到最新版本。

$ git checkout -- test.txt

git checkout其實是用版本庫里的版本替換工作區的版本,無論工作區是修改還是刪除,都可以「一鍵還原」

Git 時光穿梭機01

看這篇文章之前可以先閱讀 建立版本庫這篇文章 我們已經成功地新增並提交了乙個readme.txt檔案,現在是時候繼續工作了,於是,我們繼續修改readme.txt,改成如下內容 git is a distributed version control system git is free softw...

git reflog 時光穿梭機

一 問題描述 二 解決 小白花費一周時間做了git log如下所示6個功能。commit的資訊就是做了6個功能,每個功能對應乙個commit的提交,分別是feature 1 到 feature 6 然後執行強制回滾,git reset hard 2216d4e。回滾到了feature 1上,並且回滾...

Git 版本穿梭 時光穿梭機

當你玩遊戲時,每玩一段時間都會存一下檔以免前面的進度丟失,在打厲害 boos 前,你也會選擇存檔,以免打不過而丟失進度,這個存檔被稱為 快照 git 允許你commit後的倉庫自由前進後退版本,當你從 0 到 1 完成乙個專案時,其中難免會出現修改多次,還有可能會出現檔案誤刪丟失等問題,只要你正確的...