Git 之工作區和暫存區, 以及版本回退

2021-09-30 01:38:02 字數 1198 閱讀 2496

就是我們電腦裡面能夠看到的目錄, 比如我的 demigitpoc 資料夾就是乙個工作區

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

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

前面講了我們把檔案往git版本庫里新增的時候,是分兩步執行的:

第一步是用git add把檔案新增進去,實際上就是把檔案修改新增到暫存區;

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

因為我們建立git版本庫時,git自動為我們建立了唯一乙個master分支,所以,現在,git commit就是往master分支上提交更改。

你可以簡單理解為,需要提交的檔案修改通通放到暫存區,然後,一次性提交暫存區的所有修改到版本庫

沒有git add並且新新增的檔案會被視為untracked狀態,如果只是修改原來有的檔案則是modified狀態 例如:

放棄工作區(本地)的修改,即還未新增到暫存區(還沒執行git add 命令)

git checkout -- filename
放棄暫存區的修改(已經執行了git add)命令
# 1.先把暫存區的修改撤銷掉(unstage),重新放回工作區

git reset head # 2.再把工作區(本地)checkout回去

git checkout --

若已經提交到了版本庫, 或者不小心刪了東西
git reset -- hard commithash
reference:

Git之工作區 版本庫 暫存區

當我們在某個資料夾下使用git init命令後,這個資料夾就是工作區。比如在h devdata gitrepository oa目錄中使用了git init命令後,該目錄下會自動生成.git隱藏資料夾,h devdata gitrepository oa就是工作區。上述工作區中使用git init命...

Git 工作區 暫存區和版本庫

暫存區 stage,index 是 git 最重要的概念之一,理解了這個概念很多 git 命令就不再那麼神秘了。今天在寫這部分的內容,畫了乙個圖,看看有沒有什麼問題。理解 git 暫存區 stage 把上面的 實踐二 從頭至尾走一遍,不知道您的感想如何?在 實踐二 的過程中,我有意無意的透漏了 暫存...

Git 工作區 暫存區和版本庫

暫存區 stage,index 是 git 最重要的概念之一,理解了這個概念很多 git 命令就不再那麼神秘了。今天在寫這部分的內容,畫了乙個圖,看看有沒有什麼問題。理解 git 暫存區 stage 把上面的 實踐二 從頭至尾走一遍,不知道您的感想如何?在 實踐二 的過程中,我有意無意的透漏了 暫存...