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,那么你需要破解我上面概述的解决方案。

相关问题