Git 使用總結 思惟導圖版

git三個區

在初始化git版本庫以後會生成一個隱藏的文件 .git,能夠將該文件理解爲git的版本(repository),而咱們本身創建的項目文件夾即工做區(working directory),在.git文件夾裏面還有不少文件,其中index文件就是暫存區(stage),同事git還生成了一個分支master以及指向該分支的指針head。
例如咱們打開開發環境如idea,裏面的內容即工做區的內容,在工做區裏面有的代碼以及配置文件等咱們須要提交到版本庫裏面,最終是到了分支master上面,暫存區只是一個臨時保存修改文件的地方。
圖片描述git

工做區

工做區(Working Directory) 是咱們直接編輯的地方。ide

暫存區(Stage/Index)

數據暫時存放的區域,可在工做區和版本庫之間進行數據的友好交流。idea

  1. 暫存區只是一個簡單的索引文件。
  2. 暫存區這個索引文件裏面包含的是文件的目錄樹,像一個虛擬的工做區,在這個虛擬工做區的目錄樹中,記錄了文件名、文件的時間戳、文件長度、文件類型以及最重要的SHA-1值,文件的內容並無存儲在其中,因此說 它像一個虛擬的工做區。
  3. 索引指向的是.git/objects下的文件。
  4. 暫存區的做用:除非是繞過暫存區直接提交,不然Git想把修改提交上去,就必須將修改存入暫存區最後才能commit。每次提交的是暫存區所對應的文件快照。

版本庫(commit History)

存放已經提交的數據,push的時候,就是把這個區的數據 push到遠程倉庫了。spa

#比較的是工做區和暫存區的差異
  git diff 
  #比較的是暫存區和版本庫的差異
  git diff --cached 
  #能夠查看工做區和版本庫的差異
  git diff HEAD

經常使用概念和命令

圖片描述
圖片描述

整理於processon指針

相關文章
相關標籤/搜索