访问不同的IP或主机时如何指定不同的git帐户?

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

我必须对Intranet和Extranet使用不同的git帐户来进行开发和软件维护任务。例如,我必须设置一些代理,以便可以ssh连接到Extranet,但Extranet git帐户与Intranet不同。因此,如果像git config --global user.name "user"这样将其全局设置,则在尝试ssh连接到不同Web环境中的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 = [email protected]

有人可以帮助我并提供一些示例或提示吗?在此先感谢。

git github ssh git-config
1个回答
0
投票

创建SSH配置文件

如果您还没有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 URL的密钥
  • id_rsa_extranet使用@ github.com-extranet的任何Git URL的密钥

为了使用Intranet凭据访问存储库,请执行以下命令

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存储库

  • 更新远程原始URL
git remote set-url origin [email protected]:<user>/repo_name.git
  • 初始化并将其添加为本地存储库的Git远程。
git init
git remote add origin [email protected]:<user>/repo_name.git

希望这会有所帮助。有关ssh键和所有过程的更多信息,请通过此link

© www.soinside.com 2019 - 2024. All rights reserved.