访问不同的ip或host时如何指定不同的git帐号?
How to specify different git account when visiting different ip or host?
我必须使用不同的 git 帐户用于开发和软件维护任务的内联网和外联网。
例如,我必须设置一些代理才能ssh
连接到外网,但外网git 帐户与内网帐户不同。因此,如果像 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 = bowen@email.com
谁能帮我举一些例子或提示?
提前致谢。
正在创建 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
用于在本地设置 up/updating Extranet 存储库
- 更新远程原点URL
git remote set-url origin git@github.com-extranet:<user>/repo_name.git
- 初始化并将其作为 Git 远程添加到本地存储库。
git init
git remote add origin git@github.com-extranet:<user>/repo_name.git
希望这对您有所帮助。有关 ssh 密钥和所有过程的更多信息,请阅读此 link
我必须使用不同的 git 帐户用于开发和软件维护任务的内联网和外联网。
例如,我必须设置一些代理才能ssh
连接到外网,但外网git 帐户与内网帐户不同。因此,如果像 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 = bowen@email.com
谁能帮我举一些例子或提示?
提前致谢。
正在创建 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
用于在本地设置 up/updating Extranet 存储库
- 更新远程原点URL
git remote set-url origin git@github.com-extranet:<user>/repo_name.git
- 初始化并将其作为 Git 远程添加到本地存储库。
git init
git remote add origin git@github.com-extranet:<user>/repo_name.git
希望这对您有所帮助。有关 ssh 密钥和所有过程的更多信息,请阅读此 link