具有机器特定更改集的dotfiles的版本控制

时间:2013-03-18 14:38:47

标签: git bash git-config dotfiles

我将dotfiles存储在git repo中,但是我对.gitconfig(受版本控制)有不同的本地更改集 - 它可能是不同的环境(autocrlf true)或不同的用户名。

现在,每当我查看我要去的回购时:

git stash save && git pull && git stash apply

这对我来说似乎不是最好的做法。我应该如何在不同的机器上进行不同的本地更改?什么是最干净,最明确的方式?或者我甚至开始解决错误的问题?

1 个答案:

答案 0 :(得分:2)

您可能希望将特定于主机的设置拆分为非跟踪文件。 include - 语句在git> = 1.7.10。

中可用 像下面这样的东西可以做到这一点:

 [include]
 path = ~/.gitconfig.local

我猜,真正漂亮的东西会是:

 [include]
 path = ~/.gitconfig.${HOSTNAME}.local

然后跟踪存储库中的.gitconfig.foo.local.gitconfig.bar.local,但前者在主机foo上使用,后者在主机bar上使用。遗憾的是,目前不支持变量扩展。


或者您可以将{GIT_CONFIG环境变量 - 设置为.bash_profile / .profile / .bashrc

中特定于系统的值

最后,git使用${prefix}/etc/gitconfig进行主机范围的配置,可能您可以将其用于主机范围的配置。