如何克服解決Git衝突的恐懼症?(Git四大元件)

2021-09-11 10:02:44 字數 1138 閱讀 3105

git有四大元件,分別是:

所有的元件都存放在objects資料夾中:

當我們執行git add readme.md後,資料夾內容如下:

我們可以看到,目錄中多了83目錄,即blog元件,83目錄中有檔名是一串uuid的檔案,當我們執行git add將檔案變為staged狀態後,就會在objects目錄建立乙個元件,元件都是以hash的二進位制方式進行儲存,元件的名稱為資料夾名稱+檔名稱,所有上面的blob元件的名字即為83920ba13f0cd4e0046337313c1f0a1cfc676ad4,這個名字是唯一的。

當修改readme.md後再次執行git add,發現,objects目錄中又多了乙個blob元件:

注意:如果兩個檔案的內容一樣的話,執行git add的時候,只會生成乙個blob元件,不會是兩個。blob元件是在**提交到stage區域的時候生成的,而且是以內容來生成乙個位元組碼檔案。

可以通過git hash-object來查詢檔案的hash碼:

剛剛我們已經執行了兩次git add,下面我們將變動提交,執行git commit:

git commit -m "init"

複製**

可以看到,objects中多了兩個資料夾,b6和da,這兩個是什麼呢?我們先用git log檢視下提交日誌:

可以看到,commit的id為da7b2dd822e576db1cfb0e546a9de57fc8cfbe8b,所以da資料夾為commit元件,那麼b6是什麼呢?

b6是tree元件,每次commit時,首先會建立commit元件,然後將涉及的檔案資訊建立tree元件,我們可以用git cat-file -p命令檢視commit元件:

可以看到,通過git cat-file -p命令檢視commit元件,可以看到tree元件,我們用git cat-file -p來檢視tree元件:

可以看到,tree元件中記錄了檔案的基本資訊。

我們總結下git底層的執行流程:

我們看到,git的整個過程都是以hash和二進位制進行操作,所以git執行效率非常之高。

碼上論劍

如何克服社交恐懼症

如何克服社交恐懼症8個技巧 1 適當的放鬆 這樣做能夠緩解心理的恐懼感。將兩腳平穩站立,輕輕地把腳尖踮起,堅持幾秒鐘,然後放下,同時,邊做有節奏的深唿吸邊數數,這樣做二到三組,每組三十下,一般就能緩解心理恐懼。2 接納並信任自己 社交恐懼症在某種程度上時不能接受自己的一種表現。從現在開始,停止對自己...

文件恐懼症的分析

大部分開發人員不願意編寫文件,為什麼呢?1.寫文件需要花費很多時間。2.不願意暴露自己的思想被別人評判。3.文件編寫得不好 沒有充分發揮作用。4.根據實踐經驗,並非不寫文件,專案就幹不下去。有很多客戶也這樣對我講 我們原來沒有那麼多文件,專案照樣幹,客戶也一樣驗收付款啊!5.如果寫文件,很容易造成文...

騰訊的「社交恐懼症」

一直以來,社交被視為騰訊帝國的根基 以 qq 和微信兩大社交產品為基礎,騰訊構建了龐大的社交關係鏈,以及基於這一關係鏈的豐富產品和內容體系,從而成就了騰訊在消費網際網路領域的王者地位。到了 930 變革,雖然騰訊做出了擁抱產業網際網路的決定,但消費網際網路依舊是這家社交巨頭所要深耕的核心地帶。不過,...