根据SSH主机或标识指定Git标识

问题描述 投票:0回答:1

Git一如既往地困扰着我

*** Please tell me who you are.
Run
  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.

我通常会回应

git config user.email "[email protected]"
git config user.name "Me Name"

我不希望全局设置,因为我有多个主机,并希望为每个SSH主机使用不同的Git标识。是否可以将Git身份链接到SSH主机和/或身份,例如通过某种常见的配置文件

Host github.com
    IdentityFile ~/.ssh/github_rsa
    user.email "[email protected]"
    user.name "Me Name"
Host gitlab.com
    IdentityFile ~/.ssh/gitlab_rsa
    user.email "[email protected]"
    user.name "Another Name"
linux bash git ssh configuration
1个回答
1
投票

我没有看到这种通用的方法,但可能有这样的自定义解决方案:

使用存储用户Settings的每个git Server的主机名创建属性文件:

echo 'user.email "[email protected]"' > $HOME/.mygitconfig/github.com.user
echo 'user.name "Me Name"' >> $HOME/.mygitconfig/github.com.user

并创建一个脚本来沿着这条线克隆存储库(未经测试):

cat %HOME/bin/clonerepo

#!/user/bin/bash
git clone  git@$1/$2 .
while IFS=$'\n' read -r user_data; do
   git config $(user_data)
done < $(HOME)/.mygitconfig/$1.user

你用吧:

 $HOME/bin/clonerepo github.com path/to/repo.git
© www.soinside.com 2019 - 2024. All rights reserved.