git切换外网后,git pull,git clone报错 unable to access ‘http://xxx‘:Failed to xx port after 21021ms: Couldn‘

之前一直是内网开发,单独用的公司的gitlab内网地址,前面几天疫情居家只能外网访问,原来的项目在gitlab只能使用外网的情况下git pull和git clone都连接不到内网地址

找了很多文章,可能是因为问题太简单了吧,发现没有多少专门说明此种情况..... 都是让去重新删除配置ssh密钥什么的

其实问题就出在更换了远程库的ip地址,导致原来的内网ip不能正常访问

更改git连接的地址

直接找项目中的 .git  > config  记事本打开 

 可以看到这个url地址,内网的时候就是内网远程库的地址,换成外网之后就需要更改成外网的远程库地址,改好之后在重新git就没问题了

特殊情况:取消代理设置

有时候更改之后git还是会报错,这时候在git窗口中输入以下命令查看是否设置过代理

git config --get --global http.proxy

git config --get --global https.proxy

如果设置了代理,则取消代理

git config --global --unset http.proxy
git config --global --unset https.proxy

然后在git pull, git clone  成功完事儿
 

<think>好的,我现在需要解决用户在Git Clone时遇到的403 Forbidden错误,无法访问HTTPS的Gitee仓库的问题。根据用户提供的引用内容,这个问题通常和权限有关,尤其是在切换账号或者使用不同账号时容易发生。 首先,用户提到的错误信息是403,这说明服务器理解请求但拒绝授权。常见原因包括认证信息错误或缺失。根据引用[3],当用户之前使用一个Git账号,现在切换到另一个账号时,本地保存的旧凭据可能导致权限问题。这时候需要清除旧的凭证,或者使用正确的用户名和密码进行认证。 接下来,引用[2]中提到的解决方案是直接在clone命令中包含用户名和密码,比如git clone https://username:password@github.com/...。这种方法虽然有效,但需要注意安全性,避免在命令行中明文暴露密码。对于Gitee来说,同样的方法可能适用,用户需要替换对应的用户名、密码和仓库地址。 另外,引用[4]提到远程仓库访问错误403,可能和仓库不存在或URL错误有关。需要检查仓库URL是否正确,是否有拼写错误,或者用户是否有权限访问该仓库。如果仓库是私有的,必须确保用户有访问权限。 此外,Git的凭据管理也可能导致问题。系统可能缓存了旧的凭据,导致无法使用新的账号认证。这时候需要更新或清除凭据。在Windows系统中,可以通过凭据管理器删除旧的Git凭据;在Linux或Mac上,可能需要修改或删除~/.git-credentials文件。 还有一种情况是使用SSH方式替代HTTPS。如果用户配置了SSH密钥并且添加到Gitee账户中,使用SSH URL(如git@gitee.com:user/repo.git)可能避免HTTPS的认证问题。但用户需要确保SSH密钥正确设置,这可能是一个额外的步骤,但更安全。 综合这些信息,解决步骤可能包括:检查URL正确性、使用正确的认证方式、清除旧凭据、切换至SSH协议等。用户需要根据具体情况选择合适的方法,比如优先尝试在clone命令中加入用户名,或者清除缓存凭证后再次尝试。如果问题仍然存在,可能需要检查仓库权限或联系仓库管理员确认访问权限。</think>### 解决Git Clone出现403 Forbidden错误的方法 #### 1. **检查仓库URL的正确性** - 确保克隆的仓库地址拼写无误,尤其是区分大小写。 - 对于Gitee平台,确认仓库是否公开。如果是私有仓库,需确保当前账号有访问权限[^3][^4]。 #### 2. **在URL中直接包含用户名和密码** - 在克隆命令中显式添加账号信息,格式为: ```bash git clone https://username:password@gitee.com/用户名/仓库名.git ``` 例如: ```bash git clone https://yourname:password@gitee.com/zhangsan/project.git ``` 此方法能绕过本地缓存的错误凭据[^2]。 #### 3. **清除本地缓存的Git凭据** - **Windows**: 通过控制面板 → 凭据管理器 → Windows凭据,删除与Gitee相关的Git凭据。 - **Linux/Mac**: 执行命令删除凭据文件: ```bash rm ~/.git-credentials ``` 或手动编辑该文件移除对应条目。 #### 4. **改用SSH协议克隆** - 生成SSH密钥并添加到Gitee账号: ```bash ssh-keygen -t rsa -C "your_email@example.com" cat ~/.ssh/id_rsa.pub ``` 复制公钥到Gitee的SSH密钥设置页面。 - 使用SSH地址克隆: ```bash git clone git@gitee.com:用户名/仓库名.git ``` 此方法无需频繁输入密码,且避免HTTPS的认证问题。 #### 5. **检查网络或代理配置** - 若使用代理,需确认代理设置正确: ```bash git config --global http.proxy http://proxy.example.com:8080 ``` - 临时关闭代理测试: ```bash unset http_proxy https_proxy ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值