赫庄岳の坪何更夛と碧怏みを尖盾する

n-ozawan

峻さん、こんにちは。室宝蝕kグル`プの稼-看噛温敬温稼です。
輝ブログが蝕譜されて1定がU狛しました。書朔もLに匯指のペ`スで誘後したいと房いますので、よろしくお垳いいたします。

云籾です。
赫庄岳はバ`ジョン砿尖システムのデファクトスタンダ`ドとなっています。赫庄岳にvする慕汐も謹く、赫庄岳の聞い圭をネットで碧すれば謹くのサイトがヒットします。赫庄岳を旋喘した室宝宀も謹いと房いますが、赫庄岳の坪何更夛とその碧怏みを岑っている繁は富ないと湖じます。書指は赫庄岳の坪何更夛と碧怏みについてお三しします。

赫庄岳の坪何更夛と碧怏み

オブジェクト

赫庄岳はオブジェクトの鹿栽悶です。ファイルやディレクトリなどをオブジェクトで燕屬靴泙后この赫庄岳オブジェクトは.git/objectsに、なんだかよく蛍からない哂方忖の袋双のファイルで鯉追されています。g縞にメモ嬖などで蝕いてみても嶄附は需れません。これは噛鉛庄恢でR抹されているためです。

$ find .git/objects -type f
.git/objects/1f/06027c6ffc075fe7e0d92e2bf58694206af3f1
.git/objects/22/62de0c121f22df8e78f5a37d6e114fd322c0b0
.git/objects/34/b4cb20c2d52d10609df3a630b9c626103c19c4
.git/objects/40/42b056c7c15db8055d70feed4b977e1b5546a1
.git/objects/6c/20561d214cc99d9b2d583066d45217c5e7de2b
.git/objects/b5/c4e63d7e9e356ff41f2861e78f3fe5fa272d54
.git/objects/c2/684e0321eedff1890b7690c89726387d2af3ca
.git/objects/db/a4220318f9316310fb30b97c2fe24df05123ac
.git/objects/e4/f33342998c5fee2765d3d9e7d70c0cd2d71f47
.git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391
.git/objects/ec/66e8c3ceaa0ce3e44a1b8d7b5dca9d948b22c0
.git/objects/ff/107adebec950c5d63f8ac72bda3546e44c56d5
.git/objects/pack/pack-b3906d9532603a5f8969124d1615eda491b46347.idx
.git/objects/pack/pack-b3906d9532603a5f8969124d1615eda491b46347.pack

オブジェクトは仝ヘッダ秤烏々と仝坪否々の2つで更撹されています。仝ヘッダ秤烏々と仝坪否々をハッシュv方┳П甦-1により函誼したハッシュ、オブジェクト兆となります。なんだかよく蛍からない哂方忖の袋双の屎悶はオブジェクト兆であり、ハッシュ、任后

ヘッダ秤烏には、そのオブジェクトの侏と、その坪否の海さが鯉追されています。オブジェクトの侏には麼に、blobtreecommittagの4嶽窃があります。また、オブジェクトの侏によって坪否の嶄附は呟なります。

blob

blobはファイルを燕屬靴討い泙后D敞櫃砲魯侫.ぅ襪琳佗蹐鯉追されます。

オブジェクトの嶄附はgit cat-fileで酒gに需ることが竃栖ます。

$ git cat-file -t 9646cac155372c3f6d8fc8db4cf72feb3a4e0e2d
blob

$ git cat-file -p 9646cac155372c3f6d8fc8db4cf72feb3a4e0e2d
# サンプル

これはサンプルのREADMEです。

tree

treeはツリ`更夛を燕Fしています。ディレクトリと冱えばイメ`ジ原くかと房います。

$ git cat-file -p f4f93a002b34e1bb0116a5393bb1c7a01ccf4fc7
100644 blob 9646cac155372c3f6d8fc8db4cf72feb3a4e0e2d    README.md
040000 tree 34b4cb20c2d52d10609df3a630b9c626103c19c4    src

treeでは、摘づくオブジェクトの侏とオブジェクト兆┘魯奪轡」、ファイルやディレクトリ兆などで更撹されています。箭えば參和の魁栽、恷兜の100644は宥械のファイルであることを幣します。Aくblobはオブジェクトの侏です。9646cac1...はオブジェクト兆であり、恷朔のREADME.mdはファイル兆を幣しています。

100644 blob 9646cac155372c3f6d8fc8db4cf72feb3a4e0e2d README.md

枠ほど仝恷兜の100644は宥械のファイルである々とh苧しましたが、麿には參和があります。

嶽窃盾h
100644宥械のファイル
100755宥械のg佩辛嬬ファイル
120000シンボリックリンク
40000ディレクトリ
160000サブモジュ`ル

ツリ`更夛

treeオブジェクトで、鵑箸覆襯ブジェクト兆を峺協することにより、ツリ`更夛を侘撹することが竃栖ます。

貧の彜rからREADME.mdを俐屎した栽、仟しいオブジェクトが伏撹されます。もちろんファイルの嶄附が笋錣蠅泙垢里如▲魯奪轡、e麗となります。參和はREADME.mdを俐屎した栽のツリ`更夛です。オブジェクト兆が笋錣辰討い襪海箸蛍かると房います。

commit

赫庄岳はコミット堕sもオブジェクトとして砿尖します。枠ほどの檎掘粥禽珂掘.馨糸の俐屎を箭にすると參和の蹐里茲Δ砲覆蠅泙后

界看馨馨庄岳オブジェクト7e958f16...は、俐屎念の界看馨馨庄岳オブジェクトです。7e958f16...の岳姻艶艶には、俐屎念の岳姻艶艶オブジェクトf4f93a00...が峺し幣されています。

檎掘粥禽珂掘.馨糸を俐屎すると、40944655...という仟しい界看馨馨庄岳オブジェクトが伏撹されます。40944655...の岳姻艶艶には、仟しく伏撹された岳姻艶艶オブジェクトf53e657b...が峺し幣されます。また、parentには、俐屎圷の界看馨馨庄岳オブジェクト7e958f16...を峺し幣すことにより、俐屎を扮狼双で弖えるようにしています。

赫庄岳では俐屎念と俐屎朔の餓蛍を砿尖していません。赫庄岳はその扮泣のスナップショットを砿尖しており、餓蛍はスナップショット揖平を曳熟して燕幣しています。

おわりに

屎岷、坪何更夛を岑らなくても赫庄岳はQえます。坪何更夛を岑らなくてもQえるのは單倔なツ`ルである^でもありますが、岑っておくと赫庄岳を紳覆茲Qうことが竃栖るようになるかもしれません。

ではまた。


Recommendおすすめブログ