一:撤銷修改:
比如我現在在readme.txt檔案裡面增加一行 內容為555555555555,我們先通過命令檢視如下:
在未提交之前,發現新增5555555555555內容有誤,所以得馬上恢復以前的版本,現在有如下幾種方法可以做修改:
第一:如果我知道要刪掉那些內容的話,直接手動更改去掉那些需要的檔案,然後add新增到暫存區,最後commit掉。
但是現在不想使用上面的2種方法,直接想使用撤銷命令該如何操作呢?首先在做撤銷之前,可以先用 git status 檢視下當前的狀態。如下所示:
可以發現,git會告訴你,git checkout -- file可以丟棄工作區的修改,如下命令:
git checkout -- readme.txt如下所示:
可以看到新新增的已經沒有了。
命令 git checkout -- readme.txt 意思就是,把readme.txt檔案在工作區做的修改全部撤銷,這裡有2種情況,如下:
readme.txt自動修改後,還沒有放到暫存區,使用 撤銷修改就回到和版本庫一模一樣的狀態。
另外一種是readme.txt已經放入暫存區了,接著又作了修改,撤銷修改就回到新增暫存區後的狀態。
示例
注意:命令git checkout -- readme.txt 中的 「--」 很重要,如果沒有 「--」 的話,那麼命令變成建立分支了。
二:刪除檔案。
假如我現在版本庫testgit目錄新增乙個檔案b.txt,然後提交。如下:
touch可以使用命令直接刪除b.txt
git add b.txt
git commit -m "
新增b.txt檔案
"
rm如上:一般情況下,可以直接在檔案目錄中把檔案刪了,或者使用如上rm命令:rm b.txt ,如果我想徹底從版本庫中刪掉了此檔案的話,可以再執行commit命令 提交掉,現在目錄是這樣的,b.txt
git status
只要沒有commit之前,如果我想在版本庫中恢復此檔案如何操作呢?
可以使用如下命令 git checkout -- b.txt,如下所示:
第四,git撤銷修改和刪除檔案
例子 readme.txt修改前的內容為 git is a version control system.git is free software.git has a mutable index called stage.現在開始修改readme.txt的內容,新增一行內容my stupid bos...
git撤銷 刪除修改
下面每步操作之前可輸入命令 git status檢視當前檔案狀態 git checkout read.txt read.txt為檔名 把readme.txt檔案在工作區的修改全部撤銷,git add 之後可撤銷,之前不可撤銷 git reset head read.txt read.txt為檔名 可...
git管理修改,撤銷修改,刪除檔案
如果我們對檔案做以下操作 你會發現第二次修改沒有被提交。原因 git管理的是修改,當你用git add命令後,在工作區的第一次修改被放入暫存區,準備提交,但是,在工作區的第二次修改並沒有放入暫存區,所以,git commit只負責把暫存區的修改提交了,也就是第一次的修改被提交了,第二次的修改不會被提...