github本地双账号以及git使用记录

git的使用及采坑记录(持续更新)


一、一台电脑创建多个github账号

如何在一台电脑上使用多个github账号,由于之前已经配置过一个github账号,最近又注册了了一个账号,显然现在多账号的问题出现在自己面前,于是就扒了下多账号的设置。希望对遇到同样问题的你有一点帮助。
注:本人配置时候参考一台电脑多个github账号设置,由于未及时截图,本文使用部分原文图片及文字。

1.生成多个SSH Key

进入用户家目录Windows 使用Git Bash, Linux 打开terminal. 各系统对应的目录位置如下:

Windows目录: C:\Users\用户名.ssh
Linux\Mac目录:~/.ssh
ssh-keygen -t rsa -C email

输入如上命令,email 替换成需要生成key的邮箱回车,由于是多账号,我们需要修改默认的id_rsa 文件的名称,这里我们加上后缀,标实不同的github账号,输入密码部分可以留空或输入,若输入密码后续git push到远程仓库时均需输入此处设置的密码,方便起见我们使用ssh-agent(详见下文),回车若看到如下图所示,表示生成ssh key 成功了,重复如上操作生成多个ssh key。

进入用户家目录下的.ssh文件目录下,可以看到我们生成的多组key, id_rsa id_rsa.pub分别对应私钥与公钥

2.配置Config文件

为了让git知道我们用哪个账号提交,这里需要配置config文件,在当前家目录 .ssh文件夹下新建config文件,配置如下内容:

# 配置github1
Host github.cleloX.com                 # 自定义的host简称

# 主机名可用ip也可以是域名
    HostName github.com
	
	# 证书文件路径
    IdentityFile C:\\Users\\76594\\.ssh\\id_rsa_cleloX
	# 认证方式 可以设为 publickey,password publickey,keyboard-interactive
    PreferredAuthentications publickey 
	# 登录用户名
    User cleloX


# 配置github2
Host marspie.com 
    HostName github.com
    IdentityFile C:\\Users\\peeka\\.ssh\\id_rsa_marspie
    PreferredAuthentications publickey
    User git

注意:这样写入配置文件后,在后续使用git的时候可能会报错(控制台会 提示哪一行有错,原因:空行或者注释造成的),可根据提示进行修改

3.配置完以上信息后,做如下修改

原始clone 地址

git@github.com:cleloX/test1.git
git@github.com:marspie/test2.git

新clone地址

git@github.cleloX.com:cleloX/test1.git
git@marspie.com:marspie/test2.git

原有全局账号设置

git config --golbal user.name "name"
git config --golbal user.email "xxx@qq.com"

全局配置账户、邮箱移除

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

查看全局用户名、全局邮箱

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

然后在具体的工程目录下设置用户及邮箱

如果不设置,在使用命令git commit -m时候会提示

git config user.name yaonew
git config user.email yaonew@126.com

4.登陆Github添加公钥

分别登陆两个github账号,进入Settings –> SSH and GPG keys,拷贝~/.ssh 下.pub公钥文件内容添加至github
在这里插入图片描述
在这里插入图片描述

SSH连接测试

ssh -T git@github.cleloX.com
ssh -T git@marspie.com

在这里插入图片描述

当看到如上信息时测试成功,同时远端github的钥匙已变成绿色

5.本地git设置

ssh-agent

因为我们生成ssh key设置了密码,每次git push 认证时都需要输入密码,显然这不是我们希望的,ssh-agent是一个密钥管理器,运行ssh-agent以后,使用ssh-add将私钥交给ssh-agent保管,其他程序需要身份验证的时候可以将验证申请交给ssh-agent来完成整个认证过程。

打开 ssh-agent

# github官方的bash
ssh-agent -s
# 其它,比如msysgit
eval $(ssh-agent -s)

添加私钥
添加秘钥时输入密码后续的认证就交由ssh-agent了,直接提交丝般顺滑 _

ssh-add ~/.ssh/id_rsa_cleloX
ssh-add ~/.ssh/id_rsa_marspie

起飞



二、踩坑记录

1.warning: LF will be replaced by CRLF in …

问题:输 入 git add . 后出现

warning: LF will be replaced by CRLF in ......  
The file will have its original line endings in your working directory.  

原因

原因是路径中存在 / 的符号转义问题,false就是不转换符号默认是true,相当于把路径的 / 符号进行转义,这样添加的时候就有问题

解决方法:

git config --global core.autocrlf false

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值