动态 git 配置 user.name - 取决于主机名
Dynamic git config user.name - depend on hostname
我在两台电脑上使用 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 不会在配置文件中进行变量扩展。
为此,您可以在 .profile 或您用来调用
的任何启动文件中添加一行
git config --global user.name ${GIT_USER_NAME}
git config --global user.email ${GIT_USER_EMAIL}
并在调用之前设置好这些。
我在两台电脑上使用 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 不会在配置文件中进行变量扩展。
为此,您可以在 .profile 或您用来调用
的任何启动文件中添加一行git config --global user.name ${GIT_USER_NAME}
git config --global user.email ${GIT_USER_EMAIL}
并在调用之前设置好这些。