Windows下Git多账号配置(附github最新上传)

举报
Hermit_Rabbit 发表于 2022/08/02 14:55:11 2022/08/02
【摘要】 前言本人之前使用git未注意到多账户的管理,所以用起来比较繁琐,在网上几经搜索后发现现有的教程均存在不通用的情况,而且在去年10月github更新后使用git上传也和之前不同。为此整理了一份最新的Git多账号配置上传博文。 1. 生成git账号公钥秘钥 1.1 生成gitlab账号公钥秘钥在C:\Users\Administrator\.ssh(这个目录不绝对,因人而异)下打开git ba...

前言

本人之前使用git未注意到多账户的管理,所以用起来比较繁琐,在网上几经搜索后发现现有的教程均存在不通用的情况,而且在去年10月github更新后使用git上传也和之前不同。为此整理了一份最新的Git多账号配置上传博文。

1. 生成git账号公钥秘钥

1.1 生成gitlab账号公钥秘钥

C:\Users\Administrator\.ssh(这个目录不绝对,因人而异)下打开git bashcmd,执行命令ssh-keygen -t rsa -C user.email,例如ssh-keygen -t rsa -C xxxxxxxxx@xxx.com,然后命名为id_rsa_gitlab,输入密码(可以不设置,一直按回车)
在这里插入图片描述

1.2 生成oschina账号公钥秘钥

执行命令ssh-keygen -t rsa -C xxxxxxxxx@xxx.com创建oschina对应的sshkey,命名为id_rsa_oschina。其余均和gitlab一致
在这里插入图片描述

1.2 生成github账号公钥秘钥

执行命令ssh-keygen -t rsa -C xxxxxxxxx@xxx.com创建github对应的sshkey,命名为id_rsa_github。其余均和gitlab一致
在这里插入图片描述

2. 公钥拷贝及上传

2.1 秘钥位置存储

把上面得到的文件拷贝到git默认访问的.ssh目录(win10在用户目录下,本文C:\Users\Administrator\.ssh)
除了秘钥文件之外,config文件是后面的步骤中手动生产的,known_hosts文件是后续自动生产

在这里插入图片描述

2.2 config配置

C:\Users\Administrator\.ssh目录下创建一个config文本文件,每个账号配置一个Host节点。主要配置文件内容

# github-1 account
Host u1.github.com
	HostName github.com
	User user1
	IdentityFile C:\\Users\\Administrator\\.ssh\\id_rsa_github1
	PreferredAuthentications publickey

# github-2 account
Host u2.github.com
	HostName github.com
	User user2
	IdentityFile C:\\Users\\Administrator\\.ssh\\id_rsa_github2
	PreferredAuthentications publickey


# gitlab account
Host gitlab.com
	HostName gitlab.com
	User iJarmin_lab
	IdentityFile C:\\Users\\Administrator\\.ssh\\id_rsa_gitlab
	PreferredAuthentications publickey

# oschina account
Host git.oschina.net 
    HostName git.oschina.net
    User username2
    IdentityFile C:\\Users\\Administrator\\.ssh\\id_rsa_oschina
    PreferredAuthentications publickey
    

配置项说明:

Host      ##主机别名
HostName  ##服务器真实地址
IdentityFile  ##私钥文件路径
PreferredAuthentications  ##认证方式
User  ##用户名

将公钥上传到服务器

GitHub添加SSH key的方式如下图所示在这里插入图片描述
git.oschina.net添加SSH key的方式如下图所示:
在这里插入图片描述
gitlab添加SSH key的方式如下图所示:
在这里插入图片描述

2.3 进行测试是否成功

2.3.1 测试github

ssh -T git@github.com

提示 you,re successfully authenticated,but Github does not provide shell access

2.3.2 测试gitlab

ssh -T git@gitlab.com

提示welcome to gitlab

2.3.3 测试oschina

ssh -T git@git.oschina.net

提示welcome to Git

在这里插入图片描述

2.4 配置账户的username和email

全局配置(任意位置执行)
首先一般仅需要一次配置时候,一般可以使用全局配置读取配置。加载的优先策略为先执行局部配置读取,再进行全局配置读取

>git config --global user.name "github's Name"
>git config --global user.email "github@xx.com"
>git config --list

为了保证上传的稳定,避免错乱,我们在使用时需要注意,如果一个网站有多个账户时,最好不要设置全局的 username 和 email

取消全局 username, email

>git config --global --unset user.name
>git config --global --unset user.email

如要在repo中使用 user1 进行操作,进入repo目录后,先设置username 和 email,再进行其他操作

>git config user.name "github's Name"
>git config user.email "github@xx.com"

同样的,如果想在repo中切换为 user2 进行操作,则重新设置username和email(同上)后,再进行其他操作

3.下载上传

测试成功之后就可以在电脑上同时使用git多多账号同时操作,互不影响了。例如,我们打开github上AndroidRotateAnim项目,复制其对应的clone命令入下图所示(SSH模式)
在这里插入图片描述
执行clone命令如下(无密码则直接回车):
在这里插入图片描述
确认项目已从gitlab上克隆到本地后进行编辑,接下来依次输入以下代码即可完成上传工作:

git add .        (注:别忘记后面的.,此操作是把Test文件夹下面的文件都添加进来)
git commit  -m  "提交信息"  (注:“提交信息”里面换成你需要,如“first commit”)
git push -u origin master   (注:此操作目的是把本地仓库push到github上面,此步骤需要你输入帐号和密码)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. 常见问题

如果出现github fatal: 'origin' does not appear to be a git repository,则是没连上远程地址,为此可以通过以下操作来解决:
git remote -v 发现我的origin没有后面没跟地址
在这里插入图片描述

于是一出origin 然后再添加上去

git remote remove origin

然后找到你的项目的git地址,可以去这里复制过来
在这里插入图片描述

git remote add origin http:XXXXXXX.git

并再次

git remote -v  

发现正常了
然后就可以push了
在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。