what:从现象提出问题
在一台电脑上有两个 github 账号
今天是2021年8月13日(情人节),苦涩。
在使用账号密码push代码时,提示了如下错误:
remote: Support for password authentication was removed on August 13, 2021.
Please use a personal access token instead.
github不再通过验证密码方式push代码
如何 在一台电脑上同时使用多个github账号
why:背后原理
1, 由于 github 是使用 SSH key 的 对应的公钥id_rsa_pub来判定你是哪个账户,
而不是通过用户名。
- 如何提交不同主机呢
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
当前分支没有跟踪信息。
请指定您要合并哪一个分支。
详见 git-pull(1)。
git pull <远程> <分支>
如果您想要为此分支创建跟踪信息,您可以执行:
git branch --set-upstream-to=<远程>/<分支> main
参考默认github创建时候 提醒
echo "# ai_tools" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:AiMoneyClub/ai_tools.git
git push -u origin main
|
how:如何解决
步骤一:取消全局配置
1
2
3
4
5
|
git config --global --unset user.name
git config --global --unset user.email
git config user.name "你的用户名"
git config user.email "你的邮箱"
|
验证是否添加成功:
对于本地 git repo 配置,先进入 本地git项目 目录,cat git/config 文件,
1
2
3
4
|
[user]
name = your-username
email = your-email-address
|
步骤二:生成多个 SSH key ,修改config配置
1
2
3
|
ssh-keygen -t rsa -f ~/.ssh/id_rsa_one -C "one@xxx.com"
ssh-keygen -t rsa -f ~/.ssh/id_rsa_two -C "two@xxx.com"
|
在 ~/.ssh目录下新建 config 文件,令不同 Host 实际映射到同一 HostName,但密钥文件不同。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
# one (first account)
Host one.github.com
HostName github.com
PreferredAuthentications publickey
User one
IdentityFile ~/.ssh/id_rsa_one
# two(second account)
Host two.github.com
HostName github.com
PreferredAuthentications publickey
User two
IdentityFile ~/.ssh/id_rsa_two
|
步骤三:使用 git 重要
git 的使用一般是从其他仓库直接 clone 或本地新建,注意配置用户名和邮箱。
1、clone 到本地
原来写法
git clone git@github.com: 用户名/learngit.git
现在写法
1
2
3
|
$ git clone git@one.github.com: one的用户名/learngit.git
$ git clone git@two.github.com: two的用户名/learngit.git
|
2、如何提交代码
1
2
3
4
5
6
7
8
9
10
11
12
|
# push 到 github上去
git remote rm origin //清空原有的
git remote add origin git@one.github.com:one/test.git
//git remote add 是 Git 命令,用于添加一个新的远程仓库。
// here is
git remote add origin git@two.github.com:AiMoneyClub/ai_tools.git
git push --set-upstream origin main
git push
|
- 从 2020 年 10 月 1 日开始,GitHub 上的所有新库都将用中性词「main」命名,取代原来的「master」
这样就实现了一台电脑管理两个 github 账号,接下来可以进行 git 的其他操作。
- 参考用法:https://www.liaoxuefeng.com/wiki/896043488029600/898732864121440
联系我 :
微信号:watchpoints
知识星球: