Debian搭建Git服务器后Windows端Git GUI推送反复弹密码框无报错
解决Windows Git GUI推送反复弹密码框的问题
1. 先确认Git协议类型
拉取正常但推送异常,首先检查本地仓库使用的是HTTPS还是SSH协议:
- 打开Git Bash,进入本地仓库目录,执行:
git remote -v - 根据协议类型对应处理:HTTPS优先配置凭证缓存,SSH则检查密钥配置。
2. HTTPS协议:配置Windows Git凭证管理器
Windows Git自带凭证管理工具,大概率是缓存失效或未启用导致反复弹窗:
- 打开Git Bash,执行命令启用凭证缓存:
git config --global credential.helper manager-core - 重新尝试推送,输入一次密码后会自动缓存,后续操作不再弹出密码框。
3. SSH协议:检查密钥配置
如果用的是SSH协议,重点排查密钥配对和权限:
- 确认Windows端已生成SSH密钥对:打开Git Bash执行
ssh-keygen -t rsa,一路回车默认生成即可。 - 将Windows端
~/.ssh/id_rsa.pub的内容,复制到Debian服务器Git用户的~/.ssh/authorized_keys文件中,同时确保服务器上该文件权限为600,.ssh目录权限为700。 - 测试SSH免密登录:
能正常登录的话,再回到Git GUI尝试推送。ssh your-git-user@your-debian-server-ip
4. 检查Debian服务器Git仓库权限
服务器端仓库权限不正确也会导致推送失败但无报错:
- 登录Debian服务器,进入Git仓库所在目录,执行:
(chown -R git:git /path/to/your/git/repo.git chmod -R 755 /path/to/your/git/repo.gitgit为运行Git服务的用户,根据实际情况替换)
5. 重置本地仓库配置(终极方案)
如果以上操作都无效,重置本地仓库配置:
- 关闭Git GUI,备份本地仓库下的
.git/config文件后删除,重新执行:git remote add origin your-remote-url - 重新打开Git GUI关联仓库后尝试推送。
内容的提问来源于stack exchange,提问作者MushroomFX
相关产品推荐
相关产品推荐

