git的數(shù)據(jù)結(jié)構(gòu)二

這里主要講分支branch , 標簽tag的真實含義

1, 再看 .git的結(jié)構(gòu)

chuangchuang@chuang:~/work/temp/gittest[dev*]$ tree .git/
.git/
├── branches
├── COMMIT_EDITMSG
├── config
├── description
├── HEAD
├── hooks
│   ├── applypatch-msg.sample
│   ├── commit-msg.sample
│   ├── post-update.sample
│   ├── pre-applypatch.sample
│   ├── pre-commit.sample
│   ├── prepare-commit-msg.sample
│   ├── pre-push.sample
│   ├── pre-rebase.sample
│   └── update.sample
├── index
├── info
│   └── exclude
├── logs
│   ├── HEAD
│   └── refs
│       ├── heads
│       │   ├── dev
│       │   └── master
│       └── remotes
│           └── origin
│               └── master
├── objects
│   ├── 45
│   │   └── 776d6cb67571cfe31656fb1d114e520c9e0ab2
│   ├── 68
│   │   └── d98b1781c29d1df8b4ac7b6d457bccecf9756e
│   ├── a3
│   │   └── c8effc24eeb66de97a66b073c6d62c48fbc9ed
│   ├── e4
│   │   └── 626567ec9ae5a6f3abd77af37c25a85ec4e7f1
│   ├── e6
│   │   └── 9de29bb2d1d6434b8b29ae775ad8c2e48c5391
│   ├── f1
│   │   └── 3f51556efabe074d5b255eabcdd3ec33520c55
│   ├── info
│   └── pack
└── refs
    ├── heads
    │   ├── dev
    │   └── master
    ├── remotes
    │   └── origin
    │       └── master
    └── tags

2.講講 HEAD

HEAD代表了當前倉庫的最新版本
看看里面有啥

chuangchuang@chuang:~/work/temp/gittest[dev*]$ cat .git/HEAD 
ref: refs/heads/dev

可以看到横浑,這個head指向的是一個分支dev
在看看這個refs/heads/dev中存放的是什么

chuangchuang@chuang:~/work/temp/gittest[dev*]$ cat .git/refs/heads/dev
45776d6cb67571cfe31656fb1d114e520c9e0ab2

可以看到是指向了一個commit而已

3, 講講tag

上面的.git目錄中沒有對應(yīng)tag信息
3.1 新建一個tag

chuangchuang@chuang:~/work/temp/gittest[dev*]$ git tag -a v1.0.0 -m "添加一個tag1.0.0"
chuangchuang@chuang:~/work/temp/gittest[dev*]$ git tag
v1.0.0

3.2 查看該tag的信息

chuangchuang@chuang:~/work/temp/gittest[dev*]$ git show v1.0.0
tag v1.0.0
Tagger: chuang <chuangchuang.chen@cafintech.com>
Date:   Sun Nov 12 19:52:26 2017 +0800

添加一個tag1.0.0

commit 45776d6cb67571cfe31656fb1d114e520c9e0ab2
Author: chuang <chuangchuang.chen@cafintech.com>
Date:   Sun Nov 12 10:12:52 2017 +0800

    di er ci ti jiao test

diff --git a/aa.txt b/aa.txt
index e69de29..e462656 100644
--- a/aa.txt
+++ b/aa.txt
@@ -0,0 +1 @@
+1 di yi ci wang li tian jia nei rong

3.3 查看當前最后一個commit

chuangchuang@chuang:~/work/temp/gittest[dev*]$ git log -1 --pretty=raw
commit 45776d6cb67571cfe31656fb1d114e520c9e0ab2
tree 68d98b1781c29d1df8b4ac7b6d457bccecf9756e
parent a3c8effc24eeb66de97a66b073c6d62c48fbc9ed
author chuang <chuangchuang.chen@cafintech.com> 1510452772 +0800
committer chuang <chuangchuang.chen@cafintech.com> 1510452772 +0800

    di er ci ti jiao test

可以看到tag中顯示的信息啥容,追蹤的是 id為 45776d6cb67571cfe31656fb1d114e520c9e0ab2
的最后一次commit

3.4 查看物理結(jié)構(gòu)中的tag
再次查看.git中的tag(刪減無用的)

.git/
├── branches
├── objects
│   ├── 45
│   │   └── 776d6cb67571cfe31656fb1d114e520c9e0ab2
│   ├── 68
│   ├── info
│   └── pack
└── refs
    ├── heads
    │   ├── dev
    │   └── master
    ├── remotes
    │   └── origin
    │       └── master
    └── tags
        └── v1.0.0

看看tags目錄下的v1.0.0

chuangchuang@chuang:~/work/temp/gittest[dev*]$ cat .git/refs/tags/v1.0.0 
c8ec46b8063b47a12de692106db06822945d4b09

里面存儲了id為 c8ec46b8063b47a12de692106db06822945d4b09的文件名
再查看該文件的存儲

chuangchuang@chuang:~/work/temp/gittest[dev*]$ git cat-file -p c8ec4
object 45776d6cb67571cfe31656fb1d114e520c9e0ab2
type commit
tag v1.0.0
tagger chuang <chuangchuang.chen@cafintech.com> 1510487546 +0800

添加一個tag1.0.0

可以看到這個里面已經(jīng)關(guān)聯(lián)到了commit
id為45776d6cb67571cfe31656fb1d114e520c9e0ab2

4 總結(jié)

branch 和 tag實際上都是關(guān)聯(lián)到了 commit id

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末涵妥,一起剝皮案震驚了整個濱河市促脉,隨后出現(xiàn)的幾起案子悦污,更是在濱河造成了極大的恐慌覆旭,老刑警劉巖退子,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異型将,居然都是意外死亡寂祥,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門七兜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來丸凭,“玉大人,你說我怎么就攤上這事腕铸∠” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵狠裹,是天一觀的道長虽界。 經(jīng)常有香客問我,道長涛菠,這世上最難降的妖魔是什么莉御? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮俗冻,結(jié)果婚禮上礁叔,老公的妹妹穿的比我還像新娘。我一直安慰自己迄薄,他們只是感情好琅关,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著讥蔽,像睡著了一般死姚。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上勤篮,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天都毒,我揣著相機與錄音,去河邊找鬼碰缔。 笑死账劲,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播瀑焦,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼腌且,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了榛瓮?” 一聲冷哼從身側(cè)響起铺董,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎禀晓,沒想到半個月后精续,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡粹懒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年重付,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片凫乖。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡确垫,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出帽芽,到底是詐尸還是另有隱情删掀,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布导街,位于F島的核電站披泪,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏菊匿。R本人自食惡果不足惜付呕,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望跌捆。 院中可真熱鬧徽职,春花似錦、人聲如沸佩厚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽抄瓦。三九已至潮瓶,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間钙姊,已是汗流浹背毯辅。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留煞额,地道東北人思恐。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓沾谜,卻偏偏與公主長得像,于是被迫代替她去往敵國和親胀莹。 傳聞我的和親對象是個殘疾皇子基跑,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 1.git的安裝 1.1 在Windows上安裝Git msysgit是Windows版的Git,從https:/...
    落魂灬閱讀 12,663評論 4 54
  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,661評論 9 163
  • 劉潤145 番茄工作法 人腦每一次任務(wù)切換描焰,都有可觀的時間成本媳否。三頭六臂式地多任務(wù),不但不會節(jié)省時間荆秦,還會造成大量...
    BarryZhang閱讀 391評論 0 1