Git工作區和暫存區
使用git init命令可以建立一個版本庫,同時系統自動建立唯一分支master。
程式碼如下:
[Shell] 純文字檢視 複製程式碼$ git init Initialized empty Git repository in E:/git-ant/.git/
使用git status命令檢視一下當前狀態:
[Shell] 純文字檢視 複製程式碼$ git status On branch master No commits yet nothing to commit (create/copy files and use "git add" to track)
可以看到我們當前在master分支。
在前面的章節已經多次提到工作區和暫存區,圖示如下:
工作區:
工作區就是執行git init命令所在的目錄,我們要修改的檔案就在此目錄,但是並不包括.git目錄
版本庫:
工作區根目錄下有一個預設隱藏的目錄.git,它並不屬於工作區,而是版本庫(Repository)。
版本庫中內容很多,並且都很重要,有兩個是我們實際操作中經常要遇到的,那就是暫存區(也可以稱之為stage或者index)和分支,HEAD是一個指標,指向當前所在的分支(master)。
將檔案最終提交到版本庫基本流程如下:
(1).git add命令將工作區未跟蹤和修改檔案提交到暫存區。
(2).git commit命令將暫存區內容提交到當前版本。暫存區就如同一個臨時性倉庫,可以將來自工作區的新檔案或者修改檔案暫時存放起來,然後統一提交到分支。
暫存區存在的必要性:
有些朋友感覺暫存區多餘,其實並非如此,通過這個過渡性區域可以使提交更加條理,避免無用瑣碎提交。
舉個比較生活化的例子,需要將一車放置雜亂無章的各類貨物有序的放入倉庫,最好的辦法是將貨物先有條理的整理到倉庫門口空地上,這個空地相當於暫存區,然後再將貨物用叉車運到倉庫。還有一個作用就是可以更加方便的對檔案進行版本管理,比如版本的回溯,這個後面會文章會介紹。
關於暫存區的深入介紹參閱Git暫存區深入理解一章節。
相關文章
- git 工作流程以及Git 工作區、暫存區和版本庫(筆記)Git筆記
- 【第四篇】-Git 工作區暫存區和版本庫Git
- Git暫存區內容恢復到工作區Git
- git將工作區內容加入到暫存區Git
- Git清空暫存區Git
- Git 的工作區、暫存區、版本庫—— Git 學習筆記 15Git筆記
- Git暫存區深入理解Git
- Git刪除暫存區的指定檔案Git
- Git檢視暫存區index檔案內容GitIndex
- 暫存器定址和暫存器間接定址的區別
- 【第四篇】-Git 工作區暫存區和版本庫之Spring Cloud直播商城 b2b2c電子商務技術總結GitSpringCloud
- Git log 和 Git reflog 區別Git
- CS 暫存器 和 IP 暫存器
- Git是什麼?Git基本命令+工作區命令Git
- git add all和git add .區別Git
- Git-命令列-使用 git stash 暫存程式碼Git命令列
- git和SVN的區別?Git
- svn和git的區別Git
- JVM-執行時資料區之PC暫存器JVM
- git merge和rebase的區別Git
- git將工作區修改檔案直接提交倉庫Git
- Git中merge和rebase的區別Git
- git checkout 和 git reset 的區別 —— Git 學習筆記 09Git筆記
- CS、IP和PC暫存器
- 暫存
- git log與git reflog區別Git
- Git雙橫槓和單橫槓區別Git
- 合併分支:Git merge 和 rebase 的區別Git
- windows 作業系統裡 git bash 和 git cmd 的區別Windows作業系統Git
- 『現學現忘』Git基礎 — 2、Git和SVN的區別Git
- 工作流(Workflow)和BPM的區別
- Git 區分大小寫Git
- 暫存器
- 杉巖:淺談物件儲存和塊儲存區別物件
- Git merge和rebase分支合併命令的區別Git
- Git常用命令,merge和rebase的區別Git
- MySQL儲存引擎:MyISAM和InnoDB的區別MySql儲存引擎
- git stash save與git stash push區別Git