Git學習02 --暫存區,撤銷修改,刪除文件


工作區和暫存區概念:

     工作區(Working Directory)就是你在電腦里能看到的目錄。

      版本庫(Repository)

        工作區有一個隱藏目錄.git,這個不算工作區,而是Git的版本庫。

        Git的版本庫里存了很多東西,其中最重要的就是稱為stage(或者叫index)的暫存區,還有Git為我們自動創建的第一個分支master,以及指向master的一個指針叫HEAD

前面講了我們把文件往Git版本庫里添加的時候,是分兩步執行的:

第一步是用git add把文件添加進去,實際上就是把文件修改添加到暫存區

第二步是用git commit提交更改,實際上就是把暫存區的所有內容提交到當前分支

Git是如何跟蹤修改的:每次修改,如果不add到暫存區,那就不會加入到commit中。

 

撤銷修改

  

場景1:當你改亂了工作區某個文件的內容,想直接丟棄工作區的修改時,用命令git checkout -- file

場景2:當你不但改亂了工作區某個文件的內容,還添加到了暫存區時,想丟棄修改,分兩步,第一步用命令git reset HEAD file,就回到了場景1,第二步按場景1操作。

場景3:已經提交了不合適的修改到版本庫時,想要撤銷本次提交,git reset HEAD^

 

刪除文件

在工作空間中刪除了一個文件,Git知道你刪除了文件,因此,工作區和版本庫就不一致了,git status命令會立刻告訴你哪些文件被刪除了:

zhangqulideMacBook-Air:git_test zhangquli$ rm b.txt
zhangqulideMacBook-Air:git_test zhangquli$ git status
# On branch master
# Changes not staged for commit:
#   (use "git add/rm <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#	modified:   a.txt
#	deleted:    b.txt
#
no changes added to commit (use "git add" and/or "git commit -a")

  現在你有兩個選擇,一是確實要從版本庫中刪除該文件,那就用命令git rm刪掉,並且git commit

                               另一種情況是刪錯了,因為版本庫里還有呢,所以可以很輕松地把誤刪的文件恢復到最新版本:  git checkout -- test.txt

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


免責聲明!

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



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