Git學習02 暫存區,撤銷修改,刪除檔案

2022-06-09 04:33:11 字數 1633 閱讀 8629

工作區和暫存區概念:

工作區(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 ..." to update what will be committed)

# (use "git checkout -- ..." 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

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

git 撤銷暫存區

git的撤銷與回滾在平時使用中還是比較多的,比如說我們想將某個修改後的檔案撤銷到上乙個版本,或者是想撤銷某次多餘的提交,都要用到git的撤銷和回滾操作。撤銷分兩種情況,乙個是commit之前,乙個是commit之後,下面具體看下這兩種情況。一.git commit之前 未新增到暫存區的撤銷 沒有gi...

Git學習 暫存區

下面需要學習兩個基本概念 工作區 暫存區 其中,工作區指的是資料夾目錄下所能看到的區域 暫存區指的是一塊快取區,通過下面的命令首先是將檔案都新增到暫存區當中 git add 檔案接著使用下面的命令,將暫存區中的內容新增到版本倉庫當中 git commit m comment 是中需要銘記的是,add...

Git學習之暫存區

工作區 working directory 就是目錄,例如 pythonwork 版本庫 repository 工作區有乙個隱藏的目錄 git 就是git的版本庫。版本庫最重要的是稱為stage 或 index 的暫存區 還有git為我們建立的乙個分支 master 以及指向 master 的乙個指...