平台特定的 git 配置文件

问题描述 投票:0回答:2

我有三个 git 配置文件。其中一个名为

.gitconfig
,包含我 90% 的 git 设置。常见的、与平台无关的设置位于此处。另一个名为
.gitconfig-windows
,包含仅限 Windows 的 Git 设置(例如,Notepad++ 作为我的编辑器,在 Linux 上不存在)。显然,我还有一个用于 Linux 平台的
.gitconfig-linux

现在我的

.gitconfig
文件顶部有以下内容:

[include]
    path = .gitconfig-windows

由于我目前在 Windows 下工作,这意味着我的

.gitconfig
将包含
.gitconfig-windows
中的所有设置。当我在 Linux 上时,我必须编辑
.gitconfig
文件以指向
.gitconfig-linux
文件。每次切换平台时都必须编辑我的
.gitconfig
,这非常乏味。我在 Dropbox 中拥有所有 3 个配置文件,以便在我的所有工作机器(Windows 和 Ubuntu 环境的混合)之间轻松同步。关于如何更轻松地设置 Git 以仅在这些平台上使用特定于平台的设置,有什么建议吗?

git git-config
2个回答
2
投票

您可以将当前的

.gitconfig
文件重命名为
.gitconfig-common
之类的名称,并更改特定于平台的文件以包含它(而不是相反)。然后,在您工作的每台计算机上,在 Dropbox 的
outside
创建一个 .gitconfig 文件,该文件不执行任何操作,只是在 Dropbox 中包含相应的特定于平台的文件。

因此,例如,在 Windows 上,您需要

.gitconfig
包含
.gitconfig-windows
,其中包含
.gitconfig-common
.gitconfig
文件只包含特定于平台的 include 指令,因此无需将其与 Dropbox 同步。


0
投票

我没有 Windows 机器来测试这个,但以下方法可以让我在 Linux 和 MacOS 之间切换时包含依赖于操作系统的 gitconfig 文件:

[includeIf "gitdir:/Users/"]
    path = ~/.gitconfig-macos
[includeIf "gitdir:/home/"]
    path = ~/.gitconfig-linux

我的所有开发都是在我的主目录中完成的 - 如果您的 git 存储库位于主目录之外,这将不起作用。

我还包括一个特定于雇主的 gitconfig,其工作原理相同,其中所有与雇主相关的代码都位于 ~/code/:

[includeIf "gitdir:~/code/employer/"]
    path = ~/.gitconfig-employer
© www.soinside.com 2019 - 2024. All rights reserved.