动态 git 配置 user.name - 取决于主机名

Dynamic git config user.name - depend on hostname

我在两台电脑上使用 git

我愿意:

简而言之,我希望能够有类似 user.name = "Mic - #{Hostname}" 的东西,Hostname 被动态读取。

有办法实现吗?

我看到的唯一其他方法是手动更改我在这两台计算机上使用的每个 git 存储库上的 user.name - 但我觉得它不干净。


遇到这种情况的解决方法: 似乎没有内置解决方案,因为 git 不会自动扩展配置参数。因此,按照下面的建议,我在导入新的(共享的)~/.gitconfig:

后在我的部署脚本中发出以下命令
git config --global user.name "Mic [`hostname`]"

这样,git 名称将始终更新。

根据您的配置,您也可以将其放入 ~/.bashrc 或您使用的任何 ~/bash_profile - 虽然它看起来有点过分。

不要将名称存储在 ~/.gitconfig 中,而是在您的 ~/.bash_profile 中设置环境变量:

GIT_AUTHOR_NAME="Mic - $HOSTNAME"
GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"
export GIT_AUTHOR_NAME GIT_COMMITTER_NAME

Git 不会在配置文件中进行变量扩展。

为此,您可以在 .profile 或您用来调用

的任何启动文件中添加一行
git config --global user.name ${GIT_USER_NAME}
git config --global user.email ${GIT_USER_EMAIL}

并在调用之前设置好这些。