一台电脑,配置两个git仓库

参考:https://blog.csdn.net/q13554515812/article/details/83506172

第一步: 干掉全局配置

# 移除全局配置账户
git config --global --unset user.name
#查看全局用户名
git config --global user.name
# 移除全局配置邮箱
git config --global --unset user.email
# 查看全局邮箱
git config --global user.email
# 移除全局密码
git config --global --unset user.password
# 查看全局密码
git config --global user.password
# 查看全局配置
git config --list

第二步: 生成两个密钥(Git Bash 当前路径 ~/.ssh)

​ ① ssh-keygen -t rsa -C “XXXX@163.com” 一路回车,完事!

​ ② 第二个 ssh-keygen -t rsa -f ~/.ssh/id_rsa2 -C “your_email@example.com” 一路回车,完事!

第三步: git仓库添加各自的密钥

​ 即id_rsa.pub和id_rsa2.pub添加到各自的git仓库中去

第四步: 配置多账号

在.ssh文件夹下面新建一个命名为config的文件,内容如下
# 注释的内容需要全部删除

Host 可以瞎写
HostName gitee.com #真实的git仓库地址
User 可以瞎写
IdentityFile C:/Users/gitee/.ssh/id_rsa #我写的全路径

Host 可以瞎写
HostName code.aliyun.com  #真实的git仓库地址
User 可以瞎写
IdentityFile C:/Users/aliyun/.ssh/id_rsa2  #我写的全路径

第五步: 新密钥添加到SSH agent中

因为默认只读取id_rsa,为了让SSH识别新的私钥,需将其添加到SSH agent中:

ssh-agent bash   # 不执行这一行会报Could not open a connection to your authentication agent
ssh-add ~/.ssh/id_rsa
ssh-add ~/.ssh/id_rsa2
ssh-add -l  #会出现两个3072 SHA256:cIRIk3VYxVI22MqgqxeyXmvoEDe6JaWOJG+X8jZxBMo gitee@example.com (RSA)

第六步: 去git仓库拉代码然后提交,然后提交一次(我使用的是IDEA)

注意:填写Name和Email时不要勾选 Set properties globally

注意:填写Name和Email时不要勾选 Set properties globally

注意:填写Name和Email时不要勾选 Set properties globally

(如果勾选了就把.gitconfig删掉重来)

### 如何在同台机器上配置Git以使用Gitee和GitHub的不同HTTPS凭证 对于希望在同台计算机上同时管理 Gitee 和 GitHub 项目的开发者来说,合理配置 HTTPS 认证方式至关重要。相较于 SSH 方式的多账户配置,HTTPS 凭证的处理主要依赖于 Git Credential Manager 或者通过 `.gitconfig` 文件中的 URL 替换来实现。 #### 使用 Git Credential Manager (GCM) 现代版本的 Git 已经集成了 Git Credential Manager,在首次访问私有仓库时会提示输入用户名和密码(或个人访问令牌),并自动缓存这些信息以便后续操作无需重复输入。为了区分不同的远程服务器: - 安装最新版 Git 及其附带的 Git Credential Manager。 - 对于每个需要区别的服务提供商(如 Gitee 和 GitHub),创建独立的身份验证凭据——即各自的 Personal Access Token (PAT),而不是传统的用户名/密码组合[^2]。 ```bash # 设置默认行为为交互模式,确保每次都能正确选择对应的服务商身份验证 git config --global credential.helper manager-core ``` #### 利用 .gitconfig 中的 URL 替换功能 如果不想安装额外工具,则可以在本地用户的 `.gitconfig` 文件里定义特定前缀映射规则来间接指定不同站点下的认证数据源: ```ini [url "https://gitee.com/"] insteadOf = https://example-gitee/ [url "https://github.com/"] insteadOf = https://example-github/ ``` 上述配置意味着当提交至 `https://example-gitee/project.git` 地址时会被重定向到实际地址 `https://gitee.com/project.git` 并触发相应的 PAT 请求;同理适用于 GitHub 的情况。 另外种方法是在项目级别的 `.git/config` 文件内直接写明完整的带有授权信息的 URL: ```ini [remote "origin"] url = https://${USERNAME}:${TOKEN}@gitee.com/${USER}/${REPO}.git fetch = +refs/heads/*:refs/remotes/origin/* ``` 这里 `${USERNAME}`,`${TOKEN}` 是指代具体的用户名和个人访问令牌变量名,而 `${USER}` 和 `${REPO}` 表示具体库的信息。这种方式虽然简单粗暴但是不够灵活安全,建议仅作为临时解决方案[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值