git 引用
版本庫中檔案三種狀態
-已修改:modified
-已暫存: stagged
-已提交: committed
三大工作區:
工作目錄、暫存區和版本庫(倉庫)
工作區下的檔案狀態:
-未被追蹤:untracked
-被追蹤:tracked
.git存放的是版本資訊
.git目錄 說明
倉庫子目錄
功能描述
branches
專案分支資訊
hooks
預設的hook指令碼,由特定時間觸發
info
內有exclude檔案,指定git要忽略的檔案
.logs
歷史記錄,刪除的commit 物件等
objects
git資料物件,commit ,tree, blod ,tag
refs
git 引用,指向(遠端分支、標籤的指標)
config
git專案配置資訊
head
指向當前的分支的末端
index
stagint area 暫存區
commit_edit
最後一次提交的注釋
description
git專案資訊描述
–型別:4種資料物件:blod tree commit tag
–大小: 物件資料內容的大小
–檔名:如果使用sha1演算法生成
– 用40個字元的字串用來表示物件名:目錄 + 名
– 字串由物件內容做sha-1計算得來
– 通過比較sha-1 值來比較兩個檔案內容:快
–物件全部是二進位制格式資料
檢視blob檔案內容
git show sha1
git cat-file -p sha1
git cat-file -t sha1
檢視tree物件內容
git ls-tree sha1
git cat-file -p master^
git cat-file -p sha1
提交commit物件
標籤物件
檢視標籤資訊
git cat-file -p v1.0
git tag -a -m "add v1.2" v1.2 //生成tag資訊
引用的本質:指標
分支、標籤都是對提交的引用(指向commit 的指標)
引用存放的路徑:.git/refs
GIT基本概念
工作區是個工作目錄,實質上就是我們的在開發過程中對其進行新增 編輯的源 包括標頭檔案 原始檔和配置檔案 在工作區中有乙個隱藏檔案 git 它不屬於工作區,而是git版本庫。該檔案下包括很多其他檔案,其中重要的是暫存區 git index 物件庫 git objects 分支 master分支和其他分...
git 基本概念
理解git首先要對它自己的主要概念理解清楚,這個我看了一邊後又重新梳理了一邊思路,提取了幾個自己很容易誤解和難區分的概念,在這裡詳細介紹下 工作區 就是你在電腦裡能看到的目錄,比如我的learngit資料夾就是乙個工作區。暫存區 工作區有乙個隱藏目錄.git,這個不算工作區,而是git的版本庫。gi...
git基本概念
為了便於管理,git要求每個遠端主機都必須指定乙個主機名。git remote命令就用於管理主機名。不帶選項的時候,git remote命令列出所有遠端主機。一旦遠端主機的版本庫有了更新 git術語叫做commit 需要將這些更新取回本地,這時就要用到git fetch命令。預設情況下,git fe...