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

标签 git dynamic config

我在两台电脑上使用 git

我愿意:

  • 在两台电脑上使用相同的~/.gitconfig文件。
  • 在来自一台计算机或另一台计算机的提交上有不同的 user.name

简而言之,我希望能够拥有类似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 - 动态 git 配置 user.name - 取决于主机名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50346528/

相关文章:

python - 设置预提交时,包需要不同的 Python : 2. 7.17 不在 '>=3.6.1' 中

linux - 如何为 GIT 存储库中的文件创建符号链接(symbolic link)

jquery-ui - jquery datepicker 不显示在动态添加的输入上

Node.js 生产设置

git - 获取简短的 Git 版本哈希

git - 如何使用 Git 的 `describe` 命令导出应用程序构建版本字符串?

xml - 如何在 actionscript 3 中设置 xml 元素的变量属性?

c++ - 调用动态加载的库的非静态类成员函数

c# - 如何使用配置管理器

php - Laravel 5 - 获取包配置