在开发和软件维护任务中,我必须使用内部网和外部网的不同的git帐户。
例如,我必须设置一些代理,以便ssh
连接到extranet,但extranet git帐户与intranet帐户不同。因此,如果像git config --global user.name "user"
一样将其设置为全局的,则在不同的web环境中尝试将ssh
连接到git存储库时会遇到一些麻烦。
因此,我想知道如何为不同的环境设置不同的git
帐户配置。
这是我的.gitconfig
。
[http "http://git.intranet.com"]
proxy = http://127.0.0.3:0303
[http "https://git.intranet.com"]
proxy = http://127.0.0.3:0303
[user]
name = bowen
email = bowen@email.com
有人能帮我举几个例子或提示吗?
谢谢你的预付款。
发布于 2020-06-05 09:01:18
创建SSH Config文件
如果您还没有config
文件,那么继续创建它。
cd ~/.ssh/
touch config
code config //command code will be used to open this file in visual code
如果配置文件已经可用,那么为不同的主机添加SSH配置规则,这样配置将有助于为提供的域选择相应的标识文件。
# Intranet account--> default
Host github.com
HostName github.com
User <user>
IdentityFile ~/.ssh/id_rsa
# Extranet account
Host github.com-extranet
HostName github.com
User <user>
IdentityFile ~/.ssh/id_rsa_extranet
作为Host
提供的任何东西都是最重要的,因为这将用于克隆或设置远程起源。
ssh-agent
将使用
id_rsa
任何使用@github.com的Git的密钥id_rsa_extranet
使用@github.com-extranet的任何Git的密钥为了使用intranet凭据访问repo,请执行以下命令
ssh-add -D //removes all ssh entries from the ssh-agent
ssh-add ~/.ssh/id_rsa // Adds the relevant ssh key
使用extranet凭据推送或访问
ssh-add -D
ssh-add ~/.ssh/id_rsa_extranet
用于在本地设置/更新Extranet存储库
git remote set-url origin git@github.com-extranet:<user>/repo_name.git
git init
git remote add origin git@github.com-extranet:<user>/repo_name.git
希望这能有所帮助。有关ssh键和所有过程的更多信息,请通过此链接
https://stackoverflow.com/questions/62214722
复制