Git學習筆記(三)暫存區

2021-08-21 01:49:38 字數 1395 閱讀 6251

工作區和暫存區

工作區(working directroy)

執行git init的目錄

版本庫(repository)

工作區有乙個隱藏目錄.git,這個就是git的版本庫

git add 命令實際上就是把要提交的所有修改放到暫存區(stage),然後,git commit就可以一次民暫存區的所有修改提交到分支。

ps:git 管理的是修改,並非檔案,git commit提交的也只是暫存區的修改,也就是git add的修改,其他修改並不會提交。檢視工作區版本和版本庫里最新版本的區別

git diff head -- xx

git checkout -- file可以丟棄工作的修改

命令git checkout -- readme.txt意思就是,把readme.txt檔案在工作區的修改全部撤銷,這裡有兩種情況:

一種是readme.txt自修改後還沒有被放到暫存區,現在,撤銷修改就回到和版本庫一模一樣的狀態;

一種是readme.txt已經新增到暫存區後,又作了修改,現在,撤銷修改就回到新增到暫存區後的狀態。

總之,就是讓這個檔案回到最近一次git commitgit add時的狀態。

換個說法就是:

一,執行了git add,又作了修改,git checkout --file,那麼file就是git add的那個版本

二,未執行git add,作了修改,git checkout ---file,那麼file就是未做改動的那個版本

那麼,問題來了,當你作了錯誤的修改,並且git add了,這種情況下要處理呢?

git reset head file可以把暫存區的修改撤消掉(unstage),重新放回工作區。

git reset命令既可以回退版本,也可以把暫存區的修改撤消掉,重新放回工作區。head表示最新的版本

刪除檔案

在git中,刪除也是乙個修改操作

rm刪除了sy.txt檔案,git status檢視,工作區和版本庫不一致,git status會顯示哪些檔案被刪除

如果你確實想要刪除這個檔案,那麼git rm file &&git commit -m "***x"   

如果你並不想刪除這個檔案,那麼git checkout -- file

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

git 筆記記錄(三) 暫存區

檢視日誌 檢視一般日 git log 檢視日誌詳情 git log stat 精簡日誌 git log pretty oneline 檢視精簡狀態 引數s git status s 前面乙個m代表暫存區也 庫不一樣,後面乙個m代表暫存區與工作區不一樣 比較內容diff 1.git diff 比較的是...

Git學習 暫存區

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

Git學習之暫存區

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