Git 多平台认证

我们使用 Git 的时候可能会选择多个远程仓库托管平台。获取多平台的认证非常重要,不然你可能出现以下几种情况:

  • 无法提交到私人仓库
  • 提交了代码,但是记录的却不是你的账号

本教程给出一个通用的解决方案,虽然没 gitlab 的配置方法,但是可以参考 github 和 gitee 的配置方法。

检查环境

Git 的设置分为三个层级: systemgloballocal。可以通过下面三条命令来检查的设置:

git config --system --list
git config --global --list
git config --local --list

如果你之前跟着网上教程配置过,可能在 global 设置中会有两条:user.nameuser.email。请先删除它们再继续:

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

如果你的两个平台使用的邮箱是一样的,完全可以保留。

Github

检查邮箱

进入 github 邮箱设置,配置你使用的邮箱。

生成 ssh keys

cd ~/.ssh
ssh-keygen -t rsa -C "YourGithubEmail@mail.com" -f "github_id_rsa"

~/.ssh/config 中写入以下信息:

# github

Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa

添加公钥到 github

可以通过命令行查看公钥内容:

cat ~/.ssh/github_id_rsa.pub

复制内容到 github keys设置,新建一个 SSH keys

连接测试

ssh -T git@github.com

Gitee

检查邮箱

进入 gitee 邮箱设置,配置你使用的邮箱。

生成 ssh keys

cd ~/.ssh
ssh-keygen -t rsa -C "YourGithubEmail@mail.com" -f "gitee_id_rsa"

~/.ssh/config 中写入以下信息:

# gitee

Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_id_rsa

添加公钥到 gitee

可以通过命令行查看公钥内容:

cat ~/.ssh/gitee_id_rsa.pub

复制内容到 github sshkeys设置,创建一个 SSH keys

连接测试

ssh -T git@gitee.com

实战测试

在 gitee 上创建一个仓库。然后在本地用 git init 创建一个项目。

进入项目,添加配置信息:

git config --local user.name "YourName"
git config --local user.email "YourEmail@email.com"

这里我们使用 local 配置,而不是 global 配置,是为了防止多个邮箱产生冲突,但是每次新建项目都需要添加一遍,像前面说的一样,如果你所有平台的邮箱用的都是同一个,那自然不需要折腾这一步,直接配置一遍 global 就好了。

添加远程仓库:

git remote add origin  https://YourRepositoryLink

添加一个 README.md 测试一下。一些机械操作:

git add -A
git commit -m "add README"

如果你的远程仓库里内容的话,使用 git push origin master 还是会失败的。

两个解决方法:

# 舍弃远程仓库的内容,强制提交
git push origin master -f

# 保留远程仓库的内容
git pull origin master --allow-unrelated-histories
git push origin master
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

真实的hello world

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值