Windows10下SourceTree无法将Git远程URL从git改为HTTPS求助
解决SourceTree远程URL自动从HTTPS变回Git协议的问题
我之前帮朋友解决过一模一样的问题,这种「修改HTTPS URL后自动变回git协议」的情况,多半是SourceTree的自动同步设置或者Git的隐藏配置在捣乱,给你几个实测有效的解决步骤:
方案1:关闭SourceTree的URL自动检测更新
- 打开SourceTree,选中出问题的仓库,点击顶部菜单栏的「仓库」→「仓库设置」
- 在弹出的窗口切换到「远程」选项卡,选中你的远程仓库(通常是
origin),点击「编辑」按钮 - 将URL修改为HTTPS格式(比如
https://github.com/your-username/your-repo.git) - 重点:如果界面上有「自动检测URL更新」的勾选框,一定要取消勾选,然后点击「确定」保存
- 验证:打开SourceTree内置终端,输入
git remote -v,确认输出的URL已经是HTTPS格式,再尝试推送操作
方案2:排查Git的url.replace自动替换配置
Git有个隐藏配置可以自动替换URL协议,这是很多人忽略的点:
- 打开SourceTree的内置终端(或者系统的Git Bash)
- 先检查全局Git配置:
git config --global --get-regexp url - 再检查当前仓库的本地配置:
git config --local --get-regexp url - 如果输出里出现类似
url.git://.insteadOf https://的规则,这就是自动替换的根源,执行命令删除:- 删除全局规则:
git config --global --unset url.git://.insteadOf - 删除本地仓库规则:
git config --local --unset url.git://.insteadOf
- 删除全局规则:
- 手动重新设置HTTPS URL:
git remote set-url origin https://your-repo-url.git - 再次执行
git remote -v确认URL,然后尝试推送
方案3:清除SourceTree缓存并重启
有时候SourceTree的缓存会导致设置不生效,试试这个兜底方案:
- 完全关闭SourceTree,打开任务管理器,确认所有SourceTree相关进程(包括后台的)都已结束
- 找到SourceTree的缓存目录:
C:\Users\[你的Windows用户名]\AppData\Local\Atlassian\SourceTree - 删除目录下的
cache文件夹(如果怕出错可以先备份) - 重新打开SourceTree,再次修改远程URL为HTTPS格式,尝试推送
结合你提供的图片补充
从图片里的错误提示来看,问题核心就是URL协议不匹配导致推送权限验证失败,优先尝试方案2排查Git的自动替换配置,这是最常见的触发原因。
内容的提问来源于stack exchange,提问作者Gouden Enderoog
相关产品推荐
相关产品推荐

