溫馨提示×

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

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

軟件調(diào)整Git配置以適應(yīng)多個(gè)用戶ID的需求

發(fā)布時(shí)間:2021-10-25 14:33:51 來(lái)源:億速云 閱讀:142 作者:小新 欄目:系統(tǒng)運(yùn)維

這篇文章給大家分享的是有關(guān)軟件調(diào)整Git配置以適應(yīng)多個(gè)用戶ID的需求的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。


可以使用相同的機(jī)器用于工作和個(gè)人的 Git 提交,而無(wú)需手動(dòng)重置你的配置。

Git 的 git config 命令可以讓你為 Git 設(shè)置倉(cāng)庫(kù)或全局選項(xiàng)。它有很多選項(xiàng),其中的一個(gè)選項(xiàng) includeIf 在你使用在  Git  時(shí)有雙重角色時(shí)非常方便,比如說(shuō),你既是全職的開(kāi)發(fā)者,又在業(yè)余時(shí)間為開(kāi)源項(xiàng)目做貢獻(xiàn)。在這種情況下,大多數(shù)人都不想為兩個(gè)角色使用一個(gè)共同的配置,或者,至少,他們肯定希望保持配置的某些部分是不同的,尤其是當(dāng)他們?cè)趦蓚€(gè)角色中使用同一臺(tái)計(jì)算機(jī)時(shí)。

我的情況就是這樣,所以我在 Git 配置中保留了兩組不同的郵件 ID。這樣一來(lái),在我工作場(chǎng)所的項(xiàng)目倉(cāng)庫(kù)中提交的內(nèi)容就會(huì)使用我辦公室的郵件 ID,而在我個(gè)人 GitHub 帳戶中提交的內(nèi)容則使用我個(gè)人的郵件 ID。

以下是我的全局配置(維護(hù)在 $HOME/.gitconfig)中的一個(gè)片段,我將在下文中介紹。

[includeIf "gitdir:~/priv_scm/"]        path = ~/priv_scm/.gitconfig[includeIf "gitdir:~/work_scm/"]        path = ~/work_scm/.gitconfig

什么是 includeIf?

includeIf.condition.path 變量,是 include 配置指令的一部分,允許你有條件地設(shè)置自定義配置。同時(shí),自定義配置的路徑也可以作為指令的一部分來(lái)設(shè)置。

這個(gè)指令支持三個(gè)關(guān)鍵字:gitdirgitdir/I 和 onbranch。我將簡(jiǎn)單解釋一下 gitdir,我在上面的代碼片段中使用了它。你可以在文檔中了解其他兩個(gè)關(guān)鍵詞。

在 includeIf 指令中使用 gitdir 關(guān)鍵字會(huì)對(duì)模式進(jìn)行條件檢查。根據(jù)規(guī)則,如果當(dāng)前工作目錄與 gitdir 中指定的目錄模式相匹配,那么它就會(huì)從給定的路徑中選取配置。我將在配置片段上應(yīng)用這個(gè)規(guī)則來(lái)展示它是如何被應(yīng)用的。

在配置片段中,你可以看到一個(gè)簡(jiǎn)單的模式,~/,它與 gitdir 關(guān)鍵字一起使用。這個(gè)模式會(huì)被存儲(chǔ)在 $HOME 環(huán)境變量中的值所替代。

如何使用它

如果你使用同一個(gè)系統(tǒng)在 GitHub 或 GitLab 上的開(kāi)源項(xiàng)目上工作,并在工作中提交到 Git 倉(cāng)庫(kù),你可以有兩個(gè)頂級(jí)目錄,比如 $HOME/priv_scm 和 $HOME/work_scm。在這兩個(gè)目錄中,你可以有兩個(gè)單獨(dú)的 .gitconfig 文件,其中包含與你的 user.name 和 user.email 相關(guān)的設(shè)置。然而,它們也可以包含存儲(chǔ)在 $HOME 的全局 .gitconfig 中,它可以保存兩個(gè)環(huán)境通用的所有自定義項(xiàng)。

這里是一個(gè)例子 $HOME/priv_scm/.gitconfig 的片段:

$ cat $HOME/priv_scm/.gitconfig[user]    name  = Ramanathan Muthiah    email = <personal-mailid-goes-here>

有了這個(gè)配置,你就可以切換目錄,并開(kāi)始在開(kāi)源項(xiàng)目上工作,而無(wú)需手動(dòng)重置一些與 Git 相關(guān)的配置。這些更改會(huì)在主 .gitconfig 中借助 includeIf 條件指令自動(dòng)處理。

感謝各位的閱讀!關(guān)于“軟件調(diào)整Git配置以適應(yīng)多個(gè)用戶ID的需求”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

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

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

git
AI