1

我需要在我的系統上安裝git,其中GitHub和TortoiseGit都有自己獨立的~/.gitconfig和全局.gitconfig文件。由於git的工作方式,似乎沒有辦法做到這一點?如何在一個用戶帳戶下擁有多個〜/ .gitconfig實例?

基本上我需要的GitHub看一個.gitconfig文件默認情況下,這將是相同的信息爲我的實際GitHub的帳戶,然後TortoiseGit某種方式默認爲一個完全獨立的.gitconfig文件,完全獨立的GitHubs的.gitconfig文件。

如果這可以通過其他方式來實現,比如使用TortoiseGit替代方法,那也可以,只要它的成本與TortoiseGit(免費)相同即可。

+0

也許你可以解釋你的實際目標。例如,您是否想在一臺機器上同時進行個人和專業開發? – Chris

+0

這基本上就是它的要義。我想我的問題可能會被概括一下,試圖忽略特定的git應用程序,並且基本上重新編寫爲如何有兩個全局'.gitconfig'實例,它們根本不會相互混淆? 對於一種工作類型使用SVN或不同的VCS提供者,而對於去GitHub工作的git顯然是一種解決方案,但它並不理想。所以想看看如何用git來做到這一點。我不介意解決任何其他問題,兩個實例之間的零交互。 –

+0

這兩個配置文件有什麼區別? – poke

回答

0

在閱讀~/.gitconfig之前,最新版本的git將讀取文件$XDG_CONFIG_HOME/git/config - 請參閱manpage of git-配置。

在一個終端會話中,您可以有一個單獨的git配置,例如~/project-bla/git/config,並運行export XDG_CONFIG_HOME=~/project-bla/。然後該會話將始終使用該配置。請注意,~/.gitconfig中的設置將覆蓋這些設置,因此該文件應只包含適用於任何地方的設置。

但是,這隻適用於命令行git;我不認爲TortoiseGit有這樣的選擇。


然而,最簡單的解決方法就是配置在庫特定的配置文件的一切(mygitrepository1/.git/config下)。這些設置不會互相干擾。

唯一的缺點是,你不能分享一些之間設置,但不是所有的倉庫 - 在~/.gitconfig的設置是所有庫和回購的配置是用於該儲存庫。如果你想要一個配置來存儲a,b,c和另一個配置來存儲c,d,e,那麼你需要破解我上面概述的解決方案。

相關問題