Git上配置多个不同的账号

在使用Git管理代码时,很大可能会存在两个(或多个)账号,公司(一般gitlab),个人(github或其他的),这时候就要同时操作两个不同的账号。

官方文档:通过 SSH 连接到 GitHub - GitHub 文档

1、两个不同代码托管数仓的帐号和地址

第一个帐号和地址:first_name / gitlab.com

第一个帐号和地址:seconde_name / github.com

2、统一为两个账号配置全局账号和邮箱地址

// 最好以公司的账号地址为准,尽量避免操作公司项目代码时,一个人出现两个不同的账号名称
// gitlab/github的帐号名(也可以自定义)
git config --global user.name "diy_name"

// gitlab/github的邮箱地址(也可以自定义)
git config --global user.email "email_adress"

3、生成 ssh 密钥(一般在 “~\.ssh” 下)

1)操作第一个账号(gitlab.com)生产 ssh 密钥

// 一定是gitlab.com网站上的邮箱地址,不可以自定义
① ssh-keygen -t rsa -C "gitlab_email_adress"

② 一路回车

③ 在gitlab.com网站上添加公钥,即~\.ssh\id_rsa.pub中的所有内容 

2)操作第二个账号(github.com)生产 ssh 密钥

// 一定是gitlab.com网站上的邮箱地址,不可以自定义
① ssh-keygen -t rsa -C "github_email_adress"

② 回车后提示设置私钥文件的文件名,我们输入id_rsa_github即可,默认保存在和第一个帐号私钥文件同级目录下,可以自定义路径。

③ 一路回车

④ 新密钥添加到 SSH agent 中:

        ssh-agent bash

        ssh-add ~/.ssh/id_rsa_github (第二个帐号私钥文件的完整路径) 

⑤ 新生成的id_rsa_github.pub文件中存放着第二个帐号的公钥,将全部内容复制,添加到gitlab.com网站上

 4、在~\.ssh目录下创建config文件(没有后缀名)

# gitlab user

    Host gitlab //主机名,可自定义
    HostName gitlab.com //代码托管网站域名
    User git
    IdentityFile ~/.ssh/id_rsa//此帐号私钥的路径

# github user

    Host github
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_github
  • “#”开头的是注释
  • Host 后面是名称,可以自定义,每一个Host就代表一个仓库,仓库参数另起一行,前有4个空格
  • 参数 - HostName:ssh的host,SSH地址“git@”后面到冒号前面的内容
  • 参数 - User:使用“git”
  • 参数 - PreferredAuthentications:使用“publickey”即可,git仓库均为这种形式
  • 参数 - IdentityFile:该host后台配置的公钥对应的私钥地址的绝对路径
  • 参数 - Port:SSH默认端口号为22,某些私有部署的git仓库会更换端口号

5、测试与远程代码托管网站通信是否正常

// gitlab是config文件中我们定义的Host的值,一般我们测试连通性时要输入:ssh -T git@gitlab.com 需要网站的域名,在配置之后直接使用主机名即Host的值代替网站名

ssh -T gitlab

ssh -T github

// 返回这个表示正常
Welcome to GitLab, @username!
//或者返回这个也表示正常
Hi username! You've successfully authenticated, but GitHub does not provide shell access.

6、clone 代码

之前的命令:git clone git@gitlab.com:first_name/demo_proj.git

现在的命令:git clone gitlab:first_name/demo_proj.git
要在w11上配置多个git账号,可以按照以下步骤进行操作: 1. 首先,在用户文件夹中找到.ssh文件夹。如果没有该文件夹,可以手动创建一个新的文件夹,并将其命名为.ssh。[1] 2. 在.ssh文件夹中创建一个名为config的文件。这个文件将用于配置多个git账号的信息。 3. 打开config文件,使用文本编辑器编辑该文件。在文件中,按照以下格式添加每个git账号配置信息: ``` Host github.com HostName github.com User git IdentityFile ~/.ssh/id_rsa_github Host github-second HostName github.com User git IdentityFile ~/.ssh/id_rsa_github_second ``` 这里的`Host`可以是你想要设置的任意名称,`HostName`是git的服务器地址,`User`是git的用户名,`IdentityFile`是私钥文件的路径。你可以为每个git账号设置不同的`Host`和`IdentityFile`。 4. 保存并关闭config文件。 5. 接下来,生成一个新的SSH密钥对。在终端中运行以下命令: ``` ssh-keygen -t rsa -C 'your_email@example.com' -f ~/.ssh/id_rsa_github_second ``` 这里的`your_email@example.com`应替换为你的邮箱地址,`id_rsa_github_second`是你为第二个git账号生成的密钥文件名。 6. 按照提示设置密钥的密码(可选)。 7. 将生成的公钥添加到你的git账号的设置中。 - 对于github.com,请将公钥内容复制到GitHub的SSH设置页面中。 8. 现在,你可以使用不同git账号进行操作了。 - 当连接到第一个git账号时,使用`git@github.com`作为远程主机地址。 - 当连接到第二个git账号时,使用`git@github-second`作为远程主机地址。 注意:在进行git操作时,需要指定正确的远程主机地址以及相应的git账号信息。 这样,你就成功配置了w11上的多个git账号。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [如何配置多个git账号/多个远程仓库](https://blog.csdn.net/weixin_39729784/article/details/111726124)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值