第四節:工作區和暫存區
阿新 • • 發佈:2018-12-12
學習目的
- 工作區: 在電腦裡能看到的目錄,比如我的GIT資料夾就是一個工作區;
- 暫存區: 檢視倉庫當前狀態;
- 分支: Git為我們自動建立的第一個分支master.
工作區
在電腦裡能看到的目錄,比如我的learngit資料夾就是一個工作區。
版本庫(Repository)
工作區有一個隱藏目錄.git,這個不算工作區,而是Git的版本庫。
暫存區
Git的版本庫裡存了很多東西,其中最重要的就是稱為stage(或者叫index)的暫存區。
同時Git為我們自動建立的第一個分支master,以及指向master的一個指標叫HEAD。
- git add : 將檔案新增到進去,實際就是將檔案修改新增到暫存區;
- git commit : 提交修改檔案,實際就是將暫存區的檔案提交到當前分支。
實踐出真知
- 修改readme.txt
Git is a version control system.
Git is free software.
Git is a distributed version control system.
Git is free software.
新增一行測試工作區、暫存區、分支。
- git status 檢視修改
$ git status On branch master Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: readme.txt no changes added to commit (use "git add" and/or "git commit -a")
Changes not staged for commit:工作區的檔案修改了未進行提交。
- 新增暫存區(git add)檢視狀態(git status)
$ git add readme.txt
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: readme.txt
Changes to be committed: 更改將被提交
所以,git add命令實際上就是把要提交的所有修改放到暫存區(Stage),然後,執行git commit就可以一次性把暫存區的所有修改提交到分支。
- 提交檔案(git commit)到分支(master)
$ git commit -m "提交工作區、暫存區、分支測試"
[master 500dcea] 提交工作區、暫存區、分支測試
1 file changed, 2 insertions(+), 1 deletion(-)
如果提交後沒對工作區進行修改,那麼工作區就是“乾淨”的:
$ git status
On branch master
nothing to commit, working tree clean
同時看看暫存區的情況:
小結
- 工作區: 在電腦裡能看到的目錄,比如我的GIT資料夾就是一個工作區;
- 暫存區: 檢視倉庫當前狀態;
- 分支: Git為我們自動建立的第一個分支master.
- 如果修改檔案,先修改的是工作區,然後用git add新增到暫存區,最後用git commit提交修改檔案到當前分支。
其他
QQ交流群: 264303060