【代码管理】在本地使用github和gitee之后,可能存在冲突,导致再次提交代码时提示Couldn‘t connect to server

【代码管理】在本地使用github和gitee之后,可能存在冲突,导致再次提交代码时提示Couldn‘t connect to server
大家好,我是全栈小5,欢迎来到《小5讲堂》。
这是《源代码管理工具》系列文章,每篇文章将以博主理解的角度展开讲解。
温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!
在这里插入图片描述

目录

前言

最近在用github拉取代码,不知道什么情况下,导致两者出现冲突。
使用完毕github后,隔天再次推送gitee上面代码就提示无法连接到服务器了,
并且提示本地ip地址127.0.0.1,以及端口号7898

错误提示

git.exe clone --progress -v -- "https://gitee.com/xxx/xxx.git" "D:\github\xxx" Cloning into 'D:\github\xxx'... fatal: unable to access 'https://gitee.com/xxx/xxx.git/': Failed to connect to 127.0.0.1 port 7898 after 2116 ms: Couldn't connect to server git 未能顺利结束 (退出码 128) (2250 ms @ 2025/9/24 14:47:30) 

解决方案

这个问题是因为 Git 试图通过本地 7898 端口的代理服务器连接 Gitee,但代理服务没有运行。以下是几种解决方案:

方案1:临时关闭 Git 的代理设置(推荐先尝试)

# 取消全局代理设置git config --global --unset http.proxy git config --global --unset https.proxy # 或者只为 Gitee 域名取消代理【博主是通过执行下面方式就可以了】git config --global http.https://gitee.com.proxy ""git config --global https.https://gitee.com.proxy ""

方案2:检查并启动代理服务

如果您确实需要使用代理,请启动您的代理软件:

  • Clash/V2Ray:打开代理软件,确保它正在运行
  • 检查代理端口:确认代理软件确实使用 7898 端口

方案3:直接使用命令行取消代理后克隆

# 1. 先取消代理设置git config --global --unset http.proxy git config --global --unset https.proxy # 2. 重新克隆项目git clone https://gitee.com/xiao555/centerinfo.git "D:\github\centerinfo"

方案4:检查环境变量

有时候代理设置可能来自环境变量:

# 检查环境变量echo$HTTP_PROXYecho$HTTPS_PROXYecho$http_proxyecho$https_proxy# 如果设置了,可以临时取消setHTTP_PROXY=setHTTPS_PROXY=

针对 Windows 系统的具体操作

方法1:使用 Git Bash 或命令提示符

# 打开命令提示符或 Git Bash,依次执行:git config --global --unset http.proxy git config --global --unset https.proxy git clone https://gitee.com/xiao555/centerinfo.git "D:\github\centerinfo"

方法2:检查全局 Git 配置

# 查看当前 Git 配置git config --global --list # 如果看到 proxy 设置,就取消它

验证解决方案

执行完上述命令后,重新运行克隆命令:

git clone https://gitee.com/xiao555/centerinfo.git "D:\github\centerinfo"

如果您确实需要代理

如果您的网络环境必须使用代理,请:

  1. 确保代理软件正常运行
  2. 确认代理端口确实是 7898
  3. 或者将 Git 配置为使用正确的代理地址

为什么会冲突

GitHub 和 Gitee 本身不会冲突,但在使用过程中可能会出现以下几种"冲突"情况:

1. 代理配置冲突

问题原因:

  • GitHub:国外网站,通常需要代理才能快速访问
  • Gitee:国内网站,直连速度更快,走代理反而慢或无法连接

典型症状:

# 为 GitHub 设置了代理,但 Gitee 也走代理导致失败git config --global http.proxy http://127.0.0.1:7898 git config --global https.proxy http://127.0.0.1:7898 

2. 认证信息冲突

SSH 密钥冲突:

# 同一个 SSH 密钥可能在不同平台权限不同# GitHub 和 Gitee 可能使用相同的 SSH 密钥,但配置不同

账号认证冲突:

  • 缓存了错误的凭据
  • 两个平台使用不同的用户名/邮箱

3. 解决方案

方案1:为不同平台设置不同的代理规则

# 只为 GitHub 设置代理git config --global http.https://github.com.proxy http://127.0.0.1:7898 git config --global https.https://github.com.proxy http://127.0.0.1:7898 # Gitee 直连(取消代理)git config --global http.https://gitee.com.proxy ""git config --global https.https://gitee.com.proxy ""

方案2:使用代理软件的规则模式

在代理软件(Clash/V2Ray)中设置:

  • GitHub 走代理
  • Gitee 直连(DIRECT)

方案3:分开配置不同的远程仓库

# 为特定仓库设置单独配置cd /path/to/gitee-project git config http.proxy ""# Gitee 项目直连cd /path/to/github-project git config http.proxy http://127.0.0.1:7898 # GitHub 项目走代理

方案4:使用 SSH 替代 HTTPS

# 使用 SSH 连接可以避免 HTTP/HTTPS 代理问题git clone [email protected]:xiao555/centerinfo.git git clone [email protected]:username/repo.git 

4. 凭据管理冲突解决

检查当前配置:

# 查看所有 Git 配置git config --global --list # 查看特定配置git config --global http.proxy git config --global https.proxy 

清理缓存凭据:

# Windows 凭据管理器清理# 或使用 Git 命令清理git credential-manager reject https://gitee.com git credential-manager reject https://github.com 

5. 推荐的最佳实践

配置示例:

# 取消全局代理git config --global --unset http.proxy git config --global --unset https.proxy # 按需为国外网站设置代理git config --global http.https://github.com.proxy http://127.0.0.1:7898 git config --global http.https://gitlab.com.proxy http://127.0.0.1:7898 # 国内网站直连git config --global http.https://gitee.com.proxy ""

6. 验证配置是否正确

# 测试 Gitee 连接(应该直连)git ls-remote https://gitee.com/xiao555/centerinfo.git # 测试 GitHub 连接(应该走代理)git ls-remote https://github.com/someuser/somerepo.git 

文章推荐

【代码管理】在本地使用github和gitee之后,可能存在冲突,导致再次提交代码时提示Couldn’t connect to server

【代码管理】使用github在线源代码管理工具时,遇到443提示服务器无法连接到

【Git】查看凭据管理器的账号信息,并删除账号,解决首次认证登录失败后无法重新登录的问题

总结:温故而知新,不同阶段重温知识点,会有不一样的认识和理解,博主将巩固一遍知识点,并以实践方式和大家分享,若能有所帮助和收获,这将是博主最大的创作动力和荣幸。也期待认识更多优秀新老博主。

Read more

Spring Boot @ConditionalOnMissingBean 误判问题深度解析

Spring Boot @ConditionalOnMissingBean 误判问题深度解析 一、问题现象与核心原因 1.1 典型错误场景 // 场景1:重复Bean定义@ConfigurationpublicclassConfigA{@BeanpublicDataSourcedataSource(){returnnewHikariDataSource();}}@Configuration@ConditionalOnMissingBean(DataSource.class)publicclassConfigB{@BeanpublicDataSourceembeddedDataSource(){returnnewEmbeddedDatabaseBuilder().build();}}// 错误:两个DataSource Bean同时存在// 场景2:误判导致Bean缺失@ConfigurationpublicclassPrimaryConfig{@Bean@Primary// 标记为PrimarypublicMyServiceprimaryService(){returnnewP

By Ne0inhk
Flutter 组件 php_serializer 适配鸿蒙 HarmonyOS 实战:异构数据兼容,构建跨语言协议解析与历史债务治理架构

Flutter 组件 php_serializer 适配鸿蒙 HarmonyOS 实战:异构数据兼容,构建跨语言协议解析与历史债务治理架构

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 php_serializer 适配鸿蒙 HarmonyOS 实战:异构数据兼容,构建跨语言协议解析与历史债务治理架构 前言 在鸿蒙(OpenHarmony)生态迈向全场景数字化转型的背景下,许多企业级应用在接入鸿蒙终端时,往往需要面对存量的、基于 PHP 构建的重型后端遗产系统。这些系统常通过 PHP 特有的 serialize() 协议输出配置数据或持久化对象。在鸿蒙设备这类强调 AOT 静态强类型与高性能 JSON 解析的环境下,如果应用无法直接解析这种带有历史烙印的非标准序列化格式,由于由于前后端数据协议的断层,极易由于由于“协议无法互通”导致鸿蒙应用无法读取核心业务配置或陷入繁杂的中间件转发泥潭。 我们需要一种能够深度解析 PHP 序列化语法、支持嵌套对象恢复且具备纯 Dart 离线运作能力的协议转换方案。 php_serializer 为 Flutter 开发者引入了“跨时空协议桥接”

By Ne0inhk