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

2.2 KiB
Raw Permalink Blame History

解决 Git 推送认证问题

问题现象

remote: Unauthorized
fatal: Authentication failed for 'http://101.43.95.130:8080/test-project/'

解决方案

方案一:配置 Git 凭证(推荐)

在您的本地电脑上执行以下命令:

# 配置 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

然后重新推送:

git push origin HEAD:refs/for/master

当提示输入密码时,直接按回车(留空)即可。

方案二:在 URL 中包含用户名

修改远程仓库 URL

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 密钥(如果还没有)

# 在您的本地电脑上执行
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 克隆和推送

# 删除当前的 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

快速修复(最简单)

在您的本地电脑上执行:

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

当提示输入密码时,直接按回车(留空)即可。

如果还是不行

请告诉我具体的错误信息,我会继续帮您排查。