git撤銷文件的修改


git撤銷某個文件的修改,分為兩種情況:
1.在工作區修改,但並未提交到暫存區(即並沒有add)。
對於單個文件的撤銷修改而言,使用下面方法。

git checkout -- 文件名

若想撤銷工作區中所有文件的修改,則

git checkout .

注意:git chekcout 是讓文件回到最近一次該文件git commit或git add時的狀態。
2.工作區修改了之后,提交到了暫存區(即add),如何撤銷修改?這里分為兩種情況來說吧。
(1)對於該文件來說,在當前分支上,你還沒有commit過一次。這時候,git status后git給出提示:

是的,使用git rm --cached 文件名命令來放棄該文件的暫存,這時,你用git status命令:

表明:test1文件不被git追蹤,並且它是修改的狀態,沒有提交到暫存區。此時,你用git checkout -- file是沒有用的。因為,前面提到過,git checkout -- file是回到最近的一次commit或者add。但是,當前你還沒有一次commit過,並且,add也已經撤銷了,所以Git找不到該文件在以往記錄中的存在。自然沒法用git checkout -- file。

git提示你:該文件在Git目前所知的文件中找不到。
此時,你可以任意的對此文件進行修改了,想好了之后,再提交到暫存區。
(2)對於要撤銷的文件,你已經有了commit的記錄了。
則先:git reset HEAD file讓該文件回到工作區的狀態。
然后:git chekcout -- file即可

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM