如何在以root身份提交时使用个人的git配置?

7
我使用 etckeeper 来对我的 /etc 目录进行版本控制。
由于 /etc 目录下的文件所有权问题,我需要以 root 身份运行 git
如何做到这一点,同时仍然轻松访问我钟爱的所有 git 别名和其他配置呢?
1个回答

8

git -c include.path=<file>会将<file>中的配置包含进来。

为了自动拉取我的非root用户的配置文件,我使用以下bash别名:

alias gsudo='sudo git -c "include.path='"${XDG_CONFIG_DIR:-$HOME/.config}/git/config\" -c \"include.path=$HOME/.gitconfig\""

然后我使用 gsudo 替代 git 来:

  • 以 root 用户身份运行
  • 访问所有非 root 用户 git 配置

检查配置是否确实被导入:

gsudo config --list --show-origin --includes | less

当然,如果您有任何根目录不安全的配置,您应该小心。

也许同时拥有“安全”和“潜在危险”的配置文件是可行的。用户的~/.config/git/config可能是“潜在危险”的配置文件,它通过[include]命令引用了“安全”的仅根用户可用的配置文件(这是gsudo别名中使用的唯一一个配置文件)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接