工作區
電腦裡能看到的目錄就是工作區
版本庫
工作區有乙個隱藏目錄.git
,這個不算工作區,而是git的版本庫
git的版本庫里存了很多東西,其中最重要的就是稱為stage的暫存區,還有git為我們自動建立的第乙個分支master
,以及指向master
的乙個指標叫head
。
把檔案往git版本庫里新增的時候,是分兩步執行的:
第一步是用git add
把檔案新增進去,實際上就是把檔案修改新增到暫存區;
第二步是用git commit
提交更改,實際上就是把暫存區的所有內容提交到當前分支。
因為我們建立git版本庫時,git自動為我們建立了唯一乙個master
分支,所以,現在,git commit
就是往master
分支上提交更改。
可以簡單理解為,需要提交的檔案修改通通放到暫存區,然後,一次性提交暫存區的所有修改。
練習
修改readme.txt 檔案
[root@node1 git]# cat readme.txt在工作區新增乙個 名為 license 的文字檔案,內容可以隨便寫git
isa distributed version control system.
git
isfree software distributed under the gpl.
git has a mutable index called stage.
[root@node1 git]# cat license.txt先用git status 檢視一下狀態ni hao
[root@node1 git]# git statusgit非常清楚地告訴我們,# on branch master
# changes not staged
forcommit:
# (use
"git add ...
"to update what will be committed)
# (use
"git checkout -- ...
" to discard changes in
working directory)
## modified: readme.txt
## untracked files:
# (use
"git add ...
" to include in
what will be committed)
## license.txt
no changes added to commit (use
"git add
" and/or "
git commit -a
")
readme.txt
被修改了,而license.txt 還從來沒有被新增過,所以它的狀態是untracked
使用 兩次 git add,把readme.txt和 license.txt 都新增後用 git status 檢視
[root@node1 git]# git add readme.txt[root@node1 git]# git add license.txt
oot@node1 git]# git status現在,暫存區的狀態就變成這樣了# on branch master
# changes to be committed:
# (use
"git reset head ...
"to unstage)
##
newfile: license.txt
# modified: readme.txt
所以,git add
命令實際上就是把要提交的所有修改放到暫存區(stage),然後,執行git commit
就可以一次性把暫存區的所有修改提交到分支。
root@node1 git]# git commit -m "一旦提交後,如果你又沒有對工作區做任何修改,那麼工作區就是「乾淨」的:understand how stage works
"[master ebdaace] understand how stage works
2 files changed, 2 insertions(+)
create mode
100644 git/license.txt
[root@node1 git]# git status現在版本庫變成了這樣,暫存區就沒有任何內容了# on branch master
nothing to commit, working directory clean
git工作區和暫存區
git和其他版本控制系統如svn的乙個不同之處就是有暫存區的概念。先來看名詞解釋。工作區 working directory 就是你在電腦裡能看到的目錄,比如我的learngit資料夾就是乙個工作區 版本庫 repository 工作區有乙個隱藏目錄.git,這個不算工作區,而是git的版本庫。gi...
Git 工作區和暫存區
git和其他版本控制系統如svn的乙個不同之處就是有暫存區的概念。暫存區 stage 是git非常重要的概念,弄明白了暫存區,就弄明白了git的很多操作到底幹了什麼。是你在電腦裡能看到的目錄,比如我的learngit資料夾就是乙個工作區 工作區有乙個隱藏目錄.git,這個不算工作區,而是git的版本...
git基礎 工作區和暫存區
git和其他版本控制系統如svn的乙個不同之處就是暫存區的概念 工作區 就是電腦上能看到的目錄,可以理解為當前倉庫所在的目錄比如htdocs下的git資料夾 不過不準確 版本庫 工作區下面有乙個隱藏的目錄.git 這個就是我們的版本庫 git的版本庫里存了很多東西,其中最重要的就是稱為stage 或...