Git簡單操作之時光機穿梭(二)

2021-09-16 22:42:49 字數 2282 閱讀 8340

工作區和暫存區

工作區(working directory)

就是你在電腦裡看到的目錄,比如我的respository資料夾就是乙個工作區:

版本庫(respository)

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

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

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

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

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

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

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

俗話說,實踐出真知。現在,我們再練習一遍,先對readme.txt做個修改,比如加上一行內容:

git非常清楚地告訴我們,readme.txt被修改了,而license還從來沒有被新增過,所以它的狀態是untracked

現在,使用兩次命令git add,把readme.txtlicense都新增後,用git status再檢視一下:

$ git status

on branch master

changes to be committed:

(use "git reset head ..." to unstage)

new file: license

modified: readme.txt

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

$ git commit -m "understand how stage works"

[master e43a48b] understand how stage works

2 files changed, 2 insertions(+)

create mode 100644 license

一旦提交後,如果你又沒有對工作區做任何修改,那麼工作區就是「乾淨」的:

$ git status

on branch master

nothing to commit, working tree clean

小結

暫存區是git非常重要的概念,弄明白了暫存區,就弄明白了git的很多操作到底幹了什麼。

Git時光機穿梭

一.1.檢視倉庫當前狀態 git status 2.檢視具體修改的內容 git diff readme.txt 提交前再看下是否包含某檔案 git status 3.提交檔案分兩步add 和commit git add readme.txt git status git commit m add d...

Git 時光機穿梭之版本回退

現在,你已經學會了修改檔案,然後把修改提交到git版本庫,現在,再練習一次,修改readme.txt檔案如下 git is a distributed version control system.git is free software distributed under the gpl.然後嘗試...

Git系統學習記錄 二 時光穿梭

1,本地版本庫建立 1,建立目錄,進入目錄,git init變成倉庫 例如 mkdir repository cd repository git init git init 將目錄變成git可以管理的倉庫 2,將檔案放到git倉庫 git add filename 將檔案放入暫存區 git comm...