商汇粹外网资源平台

搜索
查看: 1822|回复: 4

怎么在一台电脑上配置两个git账号?

[复制链接]

该用户从未签到

11

主题

33

帖子

107

积分

注册会员

Rank: 2

积分
107
发表于 2022-10-22 09:48:01 | 显示全部楼层 |阅读模式
背景:想在一台电脑上实现对两个git账号的管理,一个是公司办公使用的账号,还有一个是自己学习研究使用的账号。
在网上查了许多资料,看的云里雾里,感觉不太全面。想求一个完整全面的解释分析。
回复

使用道具 举报

该用户从未签到

4

主题

12

帖子

40

积分

新手上路

Rank: 1

积分
40
发表于 2022-10-22 10:10:56 | 显示全部楼层
git config --local
可以针对当前项目配置
回复

使用道具 举报

该用户从未签到

0

主题

6

帖子

46

积分

新手上路

Rank: 1

积分
46
发表于 2022-10-22 10:33:51 | 显示全部楼层
这个情况遇到过,在公司用公司的gitlab, 但是也会用到个人的github.


多账户连接

$ ssh-keygen -t rsa -C "my_email@email.com"
输入ssh-key的名字,个人。
$ ssh-keygen -t rsa -C "company_email@email.com"
输入ssh-key的名字,公司。
分别将连个rsa.pub公钥添加到主页(个人和公司)。
上面会让你输入公私钥的文件名,默认是Id_rsa, 注意区分


在.ssh文件夹下建立config文件:(.windos: ssh 文件夹: C:\\Users\\AT\\.ssh,其他系统不同)
# 配置github.comHost github.com                     HostName github.com    IdentityFile C:\\Users\\AT\\.ssh\\github_rsa    PreferredAuthentications publickey    User claymore# 配置gitlabHost git.***.center    HostName git.***.center    IdentityFile C:\\Users\\AT\\.ssh\\id_rsa    Port 10022    PreferredAuthentications publickey    User ***   
Host后面的名字可以随便起,就是命名。
Hostname 是域名 或者ip ,第二个中是我在公司局域网的域名,已经在host文件中配置ip,
注意有个port参数,这个要看你git项目的链接参数才可知道这里要填的端口号,而不是网站服务器的端口号。
User  你的邮箱
PreferredAuthentications 验证方式,这里是公钥方式,还可以设置用密码等。
IdentifyFile 是私钥 的文件地址。


测试配置是否成功

ssh -T git@github.com
这里的http://github.com 是上面的Host 的名称。可以分别验证。


添加到ssh-agent

ssh-add 密钥文件路径
如进到.ssh文件夹中,可以直接添加了 ssh-add 密钥文件的名字
如果执行ssh-add ...命令提示如下错误:
Could not open a connection to your authentication agent.
那么请执行eval $(ssh-agent)命令后再重试,如果还不行,请再执行ssh-agent bash命令后重试。  如果还不行,请参考:StackOverFlow·ssh-Could not open a…


配置局部用户和邮箱

进到项目目录,比如公司的项目和github上个人的项目, 分别配置用户和邮箱。
git config --local user.name "你的名字"
git config --local user.email "你的邮箱"
回复

使用道具 举报

该用户从未签到

5

主题

28

帖子

90

积分

注册会员

Rank: 2

积分
90
发表于 2022-10-22 10:56:46 | 显示全部楼层
两个网站?
通过不同的git remote 进行管理。


别把公司电脑传github上了
回复

使用道具 举报

该用户从未签到

1

主题

10

帖子

48

积分

新手上路

Rank: 1

积分
48
发表于 2022-10-22 11:19:41 | 显示全部楼层
背景需求:


        在工作和学习的过程中,我们经常会遇到在一台电脑上,需要管理多个Git,比如同时需要管理Gitee、Github、微信Git等。
        例如在同一台电脑上有本地项目A、项目B、项目C。 其中项目A是在Gitee托管的,而项目B是在微信Git托管,项目C是在Github托管。

背景知识:



        首先,我们知道一般拉取代码的时候,会有2种常用的方式。
        HTTPs方式 和 SSH方式





而不同的托管平台,其实对于这两种方式的支持程度是不一样的。




解决方案:




操作方法1-HTTPS方式,


        win用账号密码配置windows凭据(无法支持GitHub,不适用Mac、Linux):
        步骤一:搜索找到win凭据管理器



        步骤二:配置凭据
        目前用户名配置邮箱,密码配置平台的密码,即可实现拉取推送。



        步骤三:pull、push




操作方法2-SSH方式,配置SSH



步骤一: 随便再那里打开git bash,并切换到ssh 目录
cd ~/.ssh/
步骤二: 生成需要的密钥对
# 准备给github的$ ssh-keygen -t rsa -C "xxx@qq.com" -f github_rsa # 准备给gitee的$ ssh-keygen -t rsa -C "xxx@qq.com" -f gitee_rsa


生成的文件是这个样子的
每次命令,生成两个文件,一个公钥一个私钥。
带pub后缀的就是公钥,要放到对应的云平台上去



步骤三: 把公钥放到对应云平台,以github为例
先在git bash中,使用 cat命令拿到公钥信息



然后把内容拷贝出来






步骤四: 配置config,让电脑知道哪个云平台应该用哪个密钥。
在.ssh目录下,新建config文件(注意全名就是config没有后缀)
在里面填写配置信息,告诉电脑怎么做选择。
如果有更多站点,接在后面再加就行。



步骤五: 测试连接
ssh -T git@github.com


步骤六: 项目测试
对于github而言,首次推送需要进行两次验证。
第一次输入的是 github的登录 用户名 和 密码
第二次输入的是 在github上生成的token



生成的token务必复制保存好,退出页面后就看不到了,只能重新生成。

步骤七:大功告成!!!!



操作成功。

对于gitee的操作也同理,先ssh -t测试连通,再git pull 和 git push(gitee目前不需要设置token,首次推送会相对简单。)



参考文章:
https://blog.csdn.net/felicity294250051/article/details/53606158
https://blog.csdn.net/pinnuli/article/details/81293071
https://blog.csdn.net/weixin_46622106/article/details/111914231
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表