日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

git add 所有修改文件_Git管理修改、撤销和删除文件

發布時間:2025/3/15 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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通過提交放入暫存區的修改,用來管理修改,而不是管理原文件。

撤銷修改

在實際中,(雖然不常發生)總是會出現發生一些問題需要撤銷修改。

  • 比如:在文件中添加一行無意義的特殊字符
liu@liu-virtual-machine:~/gitTest$ cat readme.txt`this is a test that I learning and use git version control systemthis is a beginningi Add a new line information in the end of readme.txt file$%^%&^*&&(**)(*)*&^*(*&&*&YTRYYIN

沒有git add添加到暫存區時的撤銷

  • 此時,查看git status如下:
liu@liu-virtual-machine:~/gitTest$ git status位于分支 master尚未暫存以備提交的變更: (使用 "git add ..." 更新要提交的內容) (使用 "git checkout -- ..." 丟棄工作區的改動) 修改:readme.txt修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
  • Git提示,git checkout -- file可以丟棄工作區的改動
git checkout -- readme.txt

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命令提示

可自行測試

  • 此時文件內容就回到了原來狀態
$ cat readme.txt`this is a test that I learning and use git version control systemthis is a beginningi Add a new line information in the end of readme.txt file

git checkout -- file命令中,如果沒有--,就變成了“切換到另一個分支”的命令

git add添加到暫存區后的撤銷

當我們git add后,發現需要撤銷,此時查看git status狀態

$ git status位于分支 master要提交的變更: (使用 "git reset HEAD ..." 以取消暫存) 修改:readme.txt

Git提示,使用git reset HEAD file可以把添加到暫存區的修改撤銷(unstage),重新放回工作區

$ git reset HEAD readme.txt重置后取消暫存的變更:M readme.txt
  • git reset 既可以回退版本,也可以把添加到暫存區的修改回退到工作區,HEAD表示最新版本

  • 此時查看git status,暫存區沒有修改,是干凈的,工作區有修改。

$ git status位于分支 master尚未暫存以備提交的變更: (使用 "git add ..." 更新要提交的內容) (使用 "git checkout -- ..." 丟棄工作區的改動) 修改:readme.txt修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
  • 現在可以使用git checkout -- readme.txt丟棄工作區的修改。然后查看,修改的文件已經回到原來狀態
$ git checkout -- readme.txt$ cat readme.txt`this is a test that I learning and use git version control systemthis is a beginningi Add a new line information in the end of readme.txt file

撤銷成功

git commit提交后的撤銷

對于已經commit提交到版本庫的撤銷,可以使用版本回退更改。

如果你提交了遠程倉庫,則需要另行處理。

刪除文件

Git中,刪除也是一個修改操作.

首先新建一個test.txt文件,添加并提交到倉庫

  • 當我們把目錄下的文件刪除后
$ rm test.txt
  • 此時,工作區和版本庫變得不一致
$ git status位于分支 master尚未暫存以備提交的變更: (使用 "git add/rm ..." 更新要提交的內容) (使用 "git checkout -- ..." 丟棄工作區的改動) 刪除:test.txt修改尚未加入提交(使用 "git add" 和/或 "git commit -a")

git status指出刪除了test.txt文件。

  • 現在有兩種操作:1、確定從版本庫中刪除文件,2、從暫存區把誤刪的文件恢復

確定從版本庫中刪除文件

  • 使用git rm刪除文件并git commit提交
$ git rm test.txtrm 'test.txt'$ git status位于分支 master要提交的變更: (使用 "git reset HEAD ..." 以取消暫存) 刪除:test.txt$ git commit -m"remove test.txt"[master 6a0f133] remove test.txt 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 test.txt$ git status位于分支 master無文件要提交,干凈的工作區

從暫存區把誤刪的文件恢復

  • 使用git checkout -- file從暫存區恢復誤刪的文件(本質還是丟棄工作區的改動)
$ git checkout -- test.txt

參考

Git教程:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

總結

以上是生活随笔為你收集整理的git add 所有修改文件_Git管理修改、撤销和删除文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。