Files
gerrit/解决推送认证问题.md
2025-12-22 17:12:39 +08:00

106 lines
2.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 解决 Git 推送认证问题
## 问题现象
```
remote: Unauthorized
fatal: Authentication failed for 'http://101.43.95.130:8080/test-project/'
```
## 解决方案
### 方案一:配置 Git 凭证(推荐)
在您的本地电脑上执行以下命令:
```bash
# 配置 Git 使用您的用户名
git config --global credential.helper store
git config --global credential.http://101.43.95.130:8080.username renjianbo
# 或者直接配置项目
cd /d/ttt/test-project
git config credential.http://101.43.95.130:8080.username renjianbo
```
然后重新推送:
```bash
git push origin HEAD:refs/for/master
```
当提示输入密码时,直接按回车(留空)即可。
### 方案二:在 URL 中包含用户名
修改远程仓库 URL
```bash
cd /d/ttt/test-project
# 查看当前远程 URL
git remote -v
# 修改为包含用户名的 URL
git remote set-url origin http://renjianbo@101.43.95.130:8080/test-project
# 重新推送
git push origin HEAD:refs/for/master
```
### 方案三:使用 SSH最可靠
如果 HTTP 认证一直有问题,建议使用 SSH
#### 1. 生成 SSH 密钥(如果还没有)
```bash
# 在您的本地电脑上执行
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
```
#### 2. 将公钥添加到 Gerrit
1. 访问:`http://101.43.95.130:8080/#/settings/ssh-keys`
2. 复制您的公钥内容(通常在 `~/.ssh/id_rsa.pub`
3. 粘贴到 Gerrit 的 SSH Keys 页面
4. 点击 "Add" 保存
#### 3. 使用 SSH 克隆和推送
```bash
# 删除当前的 HTTP 远程仓库
cd /d/ttt/test-project
git remote remove origin
# 添加 SSH 远程仓库
git remote add origin ssh://renjianbo@101.43.95.130:29418/test-project
# 推送代码
git push origin HEAD:refs/for/master
```
## 快速修复(最简单)
在您的本地电脑上执行:
```bash
cd /d/ttt/test-project
# 方法 1修改远程 URL 包含用户名
git remote set-url origin http://renjianbo@101.43.95.130:8080/test-project
# 方法 2配置凭证
git config credential.http://101.43.95.130:8080.username renjianbo
# 重新推送
git push origin HEAD:refs/for/master
```
当提示输入密码时,直接按回车(留空)即可。
## 如果还是不行
请告诉我具体的错误信息,我会继续帮您排查。