github Git配置多个用户

两个仓库,github上一个,gitlab上一个,用户名与密码不同,而且两个项目都需要处理。这时候就需要配置多个用户,进行不同仓库的操作。

1. 清除之前的全局配置

# 列出全局用户名,邮箱配置
git config --global --list
 
# 重置用户名和邮箱
git config --global --unset user.name
git config --global --unset user.email

2. 生成新的秘钥

删除旧的秘钥: 旧的秘钥存放在用户目录的.ssh文件夹中,删除其中的 id_rsaid_rsa.pub 之类的公钥和密钥文件。

生成新的秘钥(操作2次,换名字):

cd ~/.ssh
ssh-keygen -t rsa -C "123456@qq.com"
#设置文件名,自动生成私钥和公钥(.pub)
Enter file in which to save the key ((/c/Users/Administrator/.ssh/id_rsa)): id_rsa_github
#将ssh key添加到SSH agent中 
ssh-add ~/.ssh/id_rsa_github

  

报错:Could not open a connection to your authentication agent.解决方法

ssh-agent bash

3. 添加ssh key

将github和gitlab网站的公钥sshkey配置到id_rsa_gitlab.pub和id_rsa_github.pub中。

cat ~/.ssh/id_rsa_gitlab.pub

4. 管理秘钥

在上述.ssh目录下,手动新增一个config 文本文件,为每个账号配置一个Host节点用来配置不同的秘钥连接不同的仓库。

Host github
HostName github.com
User binfenshengdai
IdentityFile ~/.ssh/id_rsa_github
PreferredAuthentications publickey

Host gitlab
HostName gitlab.mygitlab.com
User test
Port 89
IdentityFile ~/.ssh/id_rsa_gitlab
  • Host: 仓库的别名,可以随意取名
  • HostName: 仓库网站的域名
  • User: 仓库上面的用户名
  • Port: 使用的端口 89(不是默认的 22 端口)
  • IdentityFile: 私钥的绝对路径
  • PreferredAuthentications    配置登录时用什么权限认证

验证连接是否成功:

ssh -T git@github

ssh -T git@gitlab

5. 仓库配置

两种方案都可行,选其一即可 

  • a)、我们需要为每个仓库单独配置用户名信息,假设我们要配置 github 的某个仓库,进入该仓库后,执行:
git config --local user.name "username"  #cat ~/.ssh/config
git config --local user.email "username@qq.com"
  • b)、添加远程仓库的时候要注意了。 不能是用服务商提供的地址git@github.com:xxxx应该用 git@github (config中的Host)来替换  github.com 这个域名其它不变。
### 关于 GitHubGit 的介绍 GitHub 是一种托管服务,主要用于管理以 Git 进行版本控制的软件开发项目。它不仅提供源代码存储功能,还提供了诸如协作工具、问题跟踪等功能来支持团队合作[^3]。 Git 则是一种分布式版本控制系统,允许开发者追踪文件的变化历史并协调多个人之间的工作。借助 Git用户可以在本地创建仓库来进行项目的版本管理工作,在不需要联网的情况下完成提交操作;而当涉及到多人协同工作或是希望备份自己的项目时,则会用到像 GitHub 这样的在线平台。 ### 使用方法概述 #### 初始化本地仓库并与远程连接 为了开始使用 Git 及其与 GitHub 配合的功能,首先要安装好 Git 客户端,并配置个人信息: ```bash git config --global user.name "Your Name" git config --global user.email "you@example.com" ``` 接着初始化一个新的 Git 仓库或克隆现有的 GitHub 上面的仓库: - 创建新仓库: ```bash mkdir my_project && cd $_ git init touch README.md git add . git commit -m 'first commit' ``` - 或者从 GitHub 克隆现有仓库: ```bash git clone https://github.com/username/repository.git cd repository ``` 之后设置远程地址以便推送更改至 GitHub: ```bash git remote add origin https://github.com/username/new-repo.git ``` 此时已完成本地 Git 与远程 GitHub 绑定的操作[^1]。 #### 推送更新到特定分支 对于想要向 GitHub 中某个具体分支发送改动的情况,比如 `new-readme` 分支,可以执行如下命令实现推送目的: ```bash git checkout -b new-readme # 如果还没有该分支则先切换至此分支 git push origin new-readme # 将当前分支的内容推送到远端同名分支上 ``` 这一步骤确保了所作修改能够被正确上传到了指定位置[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值