溫馨提示×

溫馨提示×

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

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

Git常見的名詞是什么

發(fā)布時間:2022-04-21 10:47:17 來源:億速云 閱讀:110 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容主要講解“Git常見的名詞是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Git常見的名詞是什么”吧!

working space/working tree

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

index/stage

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

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

commit/revision

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

remote

遠(yuǎn)程倉庫;

revision/commit history

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

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

history head

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

base directory

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

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

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

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

revision/commit hash

就像編程中常見的name和id一樣,Git中的 hash 也是一種代表某個對象的符號;

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

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

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

reference

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

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

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

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

HEAD

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

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

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

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

index/stage entry

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

這種對象就叫做 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命令時;

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

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

Git 配置文件

Git中有三個級別的配置文件:

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

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

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

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

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

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

commit/revision描述信息模板文件

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

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

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

到此,相信大家對“Git常見的名詞是什么”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

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

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

git
AI