免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

git對(duì)象-創(chuàng)新互聯(lián)

1、對(duì)象類型

git對(duì)象庫是Git版本庫實(shí)現(xiàn)的核心,它包含了原始數(shù)據(jù)文件和所有的日志信息、作者信息、日期,已經(jīng)其他用來重建項(xiàng)目任意版本或者分支的信息。位于.git/objects目錄下。

創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括上栗網(wǎng)站建設(shè)、上栗網(wǎng)站制作、上栗網(wǎng)頁制作以及上栗網(wǎng)絡(luò)營(yíng)銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,上栗網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到上栗省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
├── HEAD
├── branches
├── config
├── description
├── hooks
│ ├── pre-commit.sample
│ ├── pre-push.sample
│ └── ...
├── info
│ └── exclude
├── objects
│ ├── info
│ └── pack
└── refs
 ├── heads
 └── tags

git對(duì)象庫中有四種類型:塊(blob)、目錄樹(tree)、提交(commit)、標(biāo)簽(tag)。這四種原子對(duì)象構(gòu)成了Git高層數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)。
git對(duì)象的尋址使用40位的16進(jìn)制數(shù)表示,也就是SHA1或者散列碼,例如7f8aacaddffe009fff75b81187527c35a51f3eac。為了管理方便在文件系統(tǒng)中前兩位作為文件夾的名字,后38為作為文件名字。
你可能感覺用40位作為git對(duì)象的尋址ID,可能會(huì)存在不同的內(nèi)容但是散列碼相同的情況,你的感覺是正確的,但是這種情況出現(xiàn)的概率肯定可以忽略不計(jì)了。
其對(duì)象的關(guān)系如下:
git對(duì)象

git對(duì)象

2、blob 塊

blob對(duì)象存儲(chǔ)文件的時(shí)間內(nèi)容,實(shí)際為工作空間的文件內(nèi)容。具體為對(duì)文件內(nèi)容使用zlib算法壓縮,然后對(duì)得到的字節(jié)取hash算法。因此相同的文件內(nèi)容,得到的blob對(duì)象肯定是相同的。
示例:

git init temp              -----初始化一個(gè)空的git倉(cāng)庫
cd temp
echo "Welcome to git">hello.txt
git add hello.txt             ------添加到暫存器

此時(shí)我們查看.git/objects的目錄如下:
git對(duì)象

此時(shí)我們可以通過git cat-file命令查看git對(duì)象的內(nèi)容。注意cat-file命令可以查看所有的git對(duì)象。這個(gè)命令可以查看所有的git對(duì)象。

git cat-file -p b08a2810d8a4542f350f650435f506c6c81ca9b2

Welcome to git

由于git對(duì)文件內(nèi)容使用壓縮然后對(duì)內(nèi)容取hash作為文件名的特性,因此不管文件系統(tǒng)中同樣文件內(nèi)容有幾份,在git對(duì)象中都僅僅存一份。

3. 目錄樹 tree

git目錄樹對(duì)象映射操作系統(tǒng)中工作空間的目錄,不同的是工作空間的目錄下是文件和文件夾的集合,而目錄樹對(duì)象則為blob對(duì)象和目錄樹對(duì)象的集合。

mkdir src
cd src
cp ../hello.txt hello.txt
git add hello.txt
git write-tree   -----git的內(nèi)部命令,commit命令基本等于write-tree 和commit-tree命令

此時(shí)我們使用write-tree命令返回的hash值使用cat命令
git對(duì)象

從圖中可以看出內(nèi)容相同的文件,blob是相同的,命令樹tree對(duì)象是對(duì)應(yīng)文件系統(tǒng)的文件夾的一個(gè)映射。

4.commit提交

提交是我們使用git的時(shí)候經(jīng)常的動(dòng)作,每一個(gè)提交都執(zhí)行了一個(gè)目錄樹對(duì)象。同時(shí)提交也有一個(gè)或者多個(gè)父提交。我們現(xiàn)在使用commit-tree命令來關(guān)聯(lián)目錄樹對(duì)象吧(一般使用commit命令來自動(dòng)創(chuàng)建樹對(duì)象和關(guān)聯(lián)父提交)。
我們可以使用git $command --help來查看命令的資料文檔,例如git commit --help 、git pull --help

 git commit-tree 5657a3b1d1454667d51f8c64c1fe9830276cdcea -m "1 commit"         ----初次提交所以沒有指定父提交
7df70363051681bdd078b6a1a3fc9fe3d1595325           ----返回commit對(duì)象的HASH值

git cat-file -p 7df70363051681bdd078b6a1a3fc9fe3d1595325
tree 5657a3b1d1454667d51f8c64c1fe9830276cdcea
author xxxxxxx <xxxx@163.com> 1516538936 +0800
committer xxxx <xxxx@163.com> 1516538936 +0800

1 commit

注意此時(shí)當(dāng)我們使用git log命令并不會(huì)顯示剛剛的提交,需要使用 git merge 7df70363051681bdd078b6a1a3fc9fe3d1595325命令合并到master分支。可以看出git commit命令基本等于write-tree commit-tree merge命令。

現(xiàn)在我們修改工作空間中的hello.txt命令,然后提交查看目錄樹的內(nèi)容。
git對(duì)象
注意看tree對(duì)象和第一次提交隊(duì)對(duì)應(yīng)的tree對(duì)象相同,都是e15a40c68bd15301b60d21c204a5e7a87d62d8a1,而本身我們也沒有修改其文件夾下面的任何內(nèi)容。而blob對(duì)象32690ead83f3b77ad763e9e2c2e60ce3706cf117的內(nèi)容是兩行,說明git對(duì)象內(nèi)部提交指定的tree對(duì)象是工作空間的一個(gè)快照,而不是存儲(chǔ)的增量(否則內(nèi)容就是剛剛添加的一行了)。

5.標(biāo)簽 tag

標(biāo)簽僅僅是一個(gè)提交的快照,而且不允許修改其內(nèi)容。

$ git tag 1.0
$ git cat-file -p 1.0
tree f935b24b9a688ba5050fda30d70801c9092caeaa
parent 7df70363051681bdd078b6a1a3fc9fe3d1595325
author xxx <xxx@163.com> 1516542403 +0800
committer xxx <xxx@163.com> 1516542403 +0800

2 commit

6.F&Q

1.git的編碼方式

git的blob對(duì)象使用字節(jié)流進(jìn)行存儲(chǔ),因此不存在編碼問題。
對(duì)于目錄樹對(duì)象對(duì)應(yīng)的路徑、commit對(duì)應(yīng)的message注釋,默認(rèn)都使用UTF-8編碼。

如果想修改編碼格式請(qǐng)參照(除非有特別的理由):https://git-scm.com/docs/git-commit/1.8.0.1#_discussion

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

本文名稱:git對(duì)象-創(chuàng)新互聯(lián)
文章URL:http://m.newbst.com/article18/dceidp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管面包屑導(dǎo)航網(wǎng)站設(shè)計(jì)App開發(fā)手機(jī)網(wǎng)站建設(shè)定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)