git add 所有修改文件_Git管理修改、撤销和删除文件
備注:
知識點
管理修改
撤銷修改
沒有`git add`添加到暫存區時的撤銷
`git add`添加到暫存區后的撤銷
git commit提交后的撤銷
刪除文件
確定從版本庫中刪除文件
從暫存區把誤刪的文件恢復
參考
備注:
本文參考于廖雪峰老師的博客Git教程。依照其博客進行學習和記錄,感謝其無私分享,也歡迎各位查看原文。
知識點
Git跟蹤和管理的的是修改,而不是文件
git checkout -- file,會將文件撤銷到和git add時的狀態一樣,即git checkout -- file會將工作區的文件撤銷到與暫存區(stage)一致
git checkout -- file命令中,如果沒有--,就變成了“切換到另一個分支”的命令
git reset HEAD file既可以回退版本,也可以把添加到暫存區的修改回退到工作區,HEAD表示最新版本
刪除文件,git rm file,git commit -m"..."
管理修改
Git不同于其他版本控制系統,Git跟蹤和管理的的是修改,而不是文件
新增一行、刪除一行、修改字符、刪除又增加內容、創建新文件等,都是修改
Git通過提交放入暫存區的修改,用來管理修改,而不是管理原文件。
撤銷修改
在實際中,(雖然不常發生)總是會出現發生一些問題需要撤銷修改。
- 比如:在文件中添加一行無意義的特殊字符
沒有git add添加到暫存區時的撤銷
- 此時,查看git status如下:
- Git提示,git checkout -- file可以丟棄工作區的改動
git checkout -- readme.txt會把readme.txt文件在工作區的修改全部撤銷。
git checkout -- file,會將文件撤銷到和git add時的狀態一樣,即git checkout -- file會將工作區的文件撤銷到與暫存區(stage)一致
git checkout -- file作用在暫存區(stage),當git add添加到暫存區后,git status不在顯示git checkout -- file命令提示
可自行測試
- 此時文件內容就回到了原來狀態
git checkout -- file命令中,如果沒有--,就變成了“切換到另一個分支”的命令
git add添加到暫存區后的撤銷
當我們git add后,發現需要撤銷,此時查看git status狀態
$ git status位于分支 master要提交的變更: (使用 "git reset HEAD ..." 以取消暫存) 修改:readme.txtGit提示,使用git reset HEAD file可以把添加到暫存區的修改撤銷(unstage),重新放回工作區
$ git reset HEAD readme.txt重置后取消暫存的變更:M readme.txtgit reset 既可以回退版本,也可以把添加到暫存區的修改回退到工作區,HEAD表示最新版本
此時查看git status,暫存區沒有修改,是干凈的,工作區有修改。
- 現在可以使用git checkout -- readme.txt丟棄工作區的修改。然后查看,修改的文件已經回到原來狀態
撤銷成功
git commit提交后的撤銷
對于已經commit提交到版本庫的撤銷,可以使用版本回退更改。
如果你提交了遠程倉庫,則需要另行處理。
刪除文件
Git中,刪除也是一個修改操作.
首先新建一個test.txt文件,添加并提交到倉庫
- 當我們把目錄下的文件刪除后
- 此時,工作區和版本庫變得不一致
git status指出刪除了test.txt文件。
- 現在有兩種操作:1、確定從版本庫中刪除文件,2、從暫存區把誤刪的文件恢復
確定從版本庫中刪除文件
- 使用git rm刪除文件并git commit提交
從暫存區把誤刪的文件恢復
- 使用git checkout -- file從暫存區恢復誤刪的文件(本質還是丟棄工作區的改動)
參考
Git教程:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
總結
以上是生活随笔為你收集整理的git add 所有修改文件_Git管理修改、撤销和删除文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么调节手机的刷新率_二分钟科普:手机上
- 下一篇: mysql置信度支持度,关于支持度和置信