溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Git常見名詞有哪些

發(fā)布時(shí)間:2021-06-24 14:07:19 來源:億速云 閱讀:143 作者:chen 欄目:編程語言

這篇文章主要介紹“Git常見名詞有哪些”,在日常操作中,相信很多人在Git常見名詞有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對(duì)大家解答”Git常見名詞有哪些”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

working space/working tree

當(dāng)前工作區(qū)

index/stage

臨時(shí)保存區(qū), 緩存區(qū);

在工作區(qū)修改了內(nèi)容后, 用git add/git stage命令可以把修改信息提交到 index/stage

commit/revision

最終保存區(qū),用git commit命令可以新建一個(gè) revision/commitindex/stage 中的修改信息保存進(jìn)去。

remote

遠(yuǎn)程倉庫;

revision/commit history

Git庫中的每一個(gè)分支都有一個(gè)用于保存 revision/commit 的棧,叫做 revision/commit history

每次用commit命令提交修改,都會(huì)在當(dāng)前分支的 revision/commit history 頂部新建一個(gè) revision/commit 用于保存提交的修改。

history head

處于某個(gè) revision/commit history 頂部的 revision/commit ,稱為該 revision/commit historyhead (頭部)。

base directory

通過普通方式新建一個(gè)Git庫,即在一個(gè)空目錄下執(zhí)行git init命令;

會(huì)在當(dāng)前目錄下自動(dòng)生成一個(gè) .git 文件夾,用于保存除工作區(qū)內(nèi)容外的對(duì)象、引用等等內(nèi)容;

通過別的方式創(chuàng)建或克隆的Git庫中,可能會(huì)用別的目錄代替 .git 目錄來保存這些內(nèi)容;

不管是普通Git庫的 .git 目錄還是特殊Git庫中它的替代品,統(tǒng)稱為它們所屬Git庫的 base directory (基目錄)。

revision/commit hash

就像編程中常見的name和id一樣,Git中的 hash 也是一種代表某個(gè)對(duì)象的符號(hào);

我們可以把 revision/commit hash 簡單地理解為 revision/commit 的id;

不過和一般的name或id不同,Git中的 hash 是由它所代表的對(duì)象的數(shù)據(jù)通過SHA算法計(jì)算出的校驗(yàn)和值;

關(guān)于SHA算法和校驗(yàn)和請(qǐng)參考編程常見名詞的概括性解釋

reference

可以簡單理解為Git版的指針變量;

Git中所有的對(duì)象都是保存在硬盤中的一個(gè)個(gè)文件,有些文件中保存了數(shù)據(jù)內(nèi)容,而有些文件中只是保存了指向其它對(duì)象的路徑、 hash 等,這種文件對(duì)應(yīng)的抽象化對(duì)象就叫做 reference (引用);

就像指針變量可以指向其它指針變量一樣,Git中也有指向其它引用的引用;

.git 目錄或其它形式的基目錄下的 refs 目錄中,保存了當(dāng)前Git庫中的所有引用。

HEAD

Git預(yù)定義的引用,默認(rèn)指向當(dāng)前分支的 history head ;

refs/heads 目錄下的 master 文件,就是主分支的 HEAD文件,其中保存了主分支的 history headhash ;

如果一個(gè)Git庫有多個(gè)分支,則每個(gè)分支在 refs/heads 目錄下都會(huì)有一個(gè)屬于它的 HEAD文件;

這些 HEAD文件 和它們所屬的分支同名,內(nèi)容為它們所屬的分支的 history headhash

index/stage entry

Git中在 index/stagerevision/commit 中保存的并不是文件的副本,而是記錄文件內(nèi)容修改相關(guān)信息的對(duì)象;

這種對(duì)象就叫做 index/stage entry

untracked

index/stage 中沒有 entry 的文件叫做 untracked (未追蹤)文件。

tracked

index/stage 中已有 entry 的文件叫做 tracked (已追蹤)文件。

unstaged

已追蹤且擁有未提交到 index/stage 的修改的文件,叫做 unstaged 文件。

staged

所有修改都已經(jīng)提交到 index/stage 中的文件,叫做 staged 文件。

commit/revision message

commit/revision 描述信息;

通過默認(rèn)方式向 commit/revision 提交修改,即執(zhí)行git commit命令時(shí);

Git會(huì)打開文本編輯器讓用戶輸入一段描述本次修改的信息;

該信息會(huì)和本次修改內(nèi)容一起保存進(jìn)對(duì)應(yīng)的 commit/revision 對(duì)象。

Git 配置文件

Git中有三個(gè)級(jí)別的配置文件:

Git/etc/gitconfig : Git安裝目錄 Git 下的配置文件,稱為全局配置文件;

home/user_name/.gitconfig : 用戶主目錄 home/user_name 下的配置文件,稱為用戶配置文件; Windows系統(tǒng)下的用戶主目錄由用戶環(huán)境變量中的 HOME 變量指定;

.git/config : Git庫的基目錄下的配置文件,稱為庫配置文件;

全局配置文件作用域最大,對(duì)所有庫都有效,但是優(yōu)先級(jí)最低,用戶配置文件和庫配置文件都能覆寫它的配置;

用戶配置文件對(duì)當(dāng)前用戶創(chuàng)建的所有Git庫有效,優(yōu)先級(jí)高于全局配置文件,低于庫配置文件;

庫配置文件只對(duì)當(dāng)前庫有效,但優(yōu)先級(jí)最高;

commit/revision描述信息模板文件

通過默認(rèn)方式向 commit/revision 提交修改,即執(zhí)行git commit命令時(shí);

在編輯器中打開的用于編輯 commit/revision 描述信息的臨時(shí)文件中,顯示的就是基于該模板文件內(nèi)容生成的初始內(nèi)容;

該模板文件可通過Git配置文件中的配置變量commit.template指定。

到此,關(guān)于“Git常見名詞有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

git
AI