推送 Git Remote: 内部服务错误解决方案

ops/2024/11/14 3:52:36/

Git Remote: 内部服务错误起因

拉取阿里云·云效仓库代码的时候,之前一直拉取仓库并且推送都没有任何问题,但是最近在云效里面新建了一个仓库,也能成功拉取下来,但就是推送不上去,但是其它仓库都可以随意推送没有任何问题,账号密码也是全局统一的,但就是死活推送不上去,且报错原因非常的不明细,一直说内部服务错误 :

[oh-my-zsh] Random theme 'mrtazz' loaded
MacBook-Pro:merchant_manage:% git push                                                                                                                                                          <master>
Enumerating objects: 801, done.
Counting objects: 100% (800/800), done.
Delta compression using up to 8 threads
Compressing objects: 100% (375/375), done.
remote:  内部服务错误 (136/797)Writing objects: 100% (797/797), 4.29 MiB | 2.03 MiB/s, done.
Total 797 (delta 228), reused 796 (delta 228), pack-reused 0
fatal: the remote end hung up unexpectedly

但是最终还是解决了该问题,以下是解决问题的过程,操作命令都在终端上面了:

  1. 修改 git 缓冲区大小:
    em… 我也是只不过是 git 提交到暂存区好几天没有 push 罢了,全是代码文件,谈不上大文件,但是配置这个帮助解决大文件传输时的问题,我这里操作了该命令故作解释一下。
  2. 使用 --verbose 选项可以帮助你获取更多的输出信息,这个确实好用,默认报错信息就告诉remote 服务器错误,也不具体说出哪里错误了,使用这个直接就输出了具体错误原因,例如下面贴的终端图上面就是 Authentication failed 说明认证失败,https 克隆账号或密码错误,早这样说不就完事了。。。
  3. 查看git 配置,这个需要标识身份的,查看配置与你的 git 服务相关信息是否一直,例如:云效

    4.需要删除用户凭证,因为我之前一直拉不下来就说明我的凭证是错误的,需要删除之后,重新推送,这个时候因为没有了凭证就会重新触发出凭证验证器让你重新输入用户名密码

。。。以上就是解决过程,很 sb,但是平时也不会遇到这种2b 问题,这突然来了还给我整懵额,所以记录一下。。。

增加 Git 缓冲区大小

有时候增加 Git 的缓冲区大小可以帮助解决大文件传输时的问题。

git config http.postBuffer 524288000

清理并重新推送

有时候清理本地仓库的缓存并重新推送也可以解决问题。

git gc
git push origin master

诊断问题

使用 --verbose 选项获取更多信息

使用 --verbose 选项可以帮助你获取更多的输出信息,以便更好地诊断问题。

git push --verbose origin master

或者

git -c color.branch=false -c color.diff=false -c color.status=false -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree push -v --tags origin refs/heads/master:refs/heads/master

解释

git_push_verbose_origin_master_56">命令 1: git push --verbose origin master
git push --verbose origin master
  • --verbose: 以详细模式运行推送操作,显示更多的调试信息。
  • origin: 远程仓库的名称,默认情况下是 origin。
  • master: 本地分支名称,表示将本地 master 分支推送到远程 master 分支。

这个命令会:

  • 将本地 master 分支推送到远程 origin 仓库的 master 分支。
  • 以详细模式运行,显示更多调试信息。
  • 使用默认的 Git 配置(包括颜色输出、路径转义等)。
  • 不会推送标签(除非你显式地指定了 --tags 选项)。
git_c_colorbranchfalse_c_colordifffalse_c_colorstatusfalse_c_diffmnemonicprefixfalse_c_corequotepathfalse_c_credentialhelpersourcetree_push_v_tags_origin_refsheadsmasterrefsheadsmaster_72">命令 2: git -c color.branch=false -c color.diff=false -c color.status=false -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree push -v --tags origin refs/heads/master:refs/heads/master
git -c color.branch=false -c color.diff=false -c color.status=false -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree push -v --tags origin refs/heads/master:refs/heads/master
  • -c 选项:
    • color.branch=false: 禁用分支名称的颜色。
    • color.diff=false: 禁用差异输出的颜色。
    • color.status=false: 禁用状态输出的颜色。
    • diff.mnemonicprefix=false: 禁用在差异输出中使用助记符前缀。
    • core.quotepath=false: 禁用对路径中的特殊字符进行转义。
    • credential.helper=sourcetree: 设置凭证助手为 sourcetree,这意味着 Git 将使用 SourceTree 提供的凭证管理器来处理认证信息。
  • -v--verbose: 以详细模式运行推送操作,显示更多的调试信息。
  • --tags: 推送所有标签到远程仓库。
  • origin: 远程仓库的名称,默认情况下是 origin。
  • refs/heads/master:refs/heads/master: 显式指定要推送的本地分支和远程分支。这里表示将本地的 master 分支推送到远程的 master 分支。

删除现有的凭证缓存

删除现有的凭证缓存并重新输入用户名和密码。

# macOS/Linux
rm -f ~/.git-credentials# Windows
del %USERPROFILE%\.git-credentials

重新推送以触发凭证输入

git push origin master

使用 HTTPS URL 格式

git remote set-url origin https://xx.com/xx.git

http://www.ppmy.cn/ops/114869.html

相关文章

FPGA科学高效的编程方法有哪些?

FPGA&#xff08;现场可编程门阵列&#xff09;的编程通常具有高度的并行性和低级控制特性&#xff0c;因此掌握科学高效的编程方法对提高开发效率、降低错误率以及提高系统性能至关重要。以下是一些常见的高效编程方法&#xff1a; 1. 模块化设计 分层设计&#xff1a;将复杂…

大模型显存占用计算方法(单卡状态)

参考&#xff1a;https://blog.csdn.net/python122_/article/details/141494273 一个含有1G参数的模型&#xff0c;如果每一个参数都是32bit&#xff08;4byte&#xff09;&#xff0c;那么直接加载模型就会占用4x1G的显存。 常见的几种精度类型&#xff1a;从一次面试搞懂 FP1…

dbt snapshot命令及应用示例

DBT是一种功能强大的数据转换工具&#xff0c;它使数据分析师和工程师能够更有效地转换仓库中的数据。dbt的一个关键特性是能够创建快照&#xff0c;这是跟踪数据随时间变化的一种方法。本文带你一起完成创建和使用dbt快照的过程。 理解缓慢变化维度 缓慢变化维度(scd)是数据仓…

【LeetCode】289.生命游戏

如何原地对数组进行修改是比较困难的&#xff0c;递归的算法无法做到。那有什么方式能简化吗&#xff1f;可以设计多种数字用于记录细胞的状态&#xff0c;不同的数字记录了不同的时刻和状态&#xff0c;从而简化了题目。 1.题目 2.思想 本题题意虽然比较复杂&#xff0c;但是…

【鸿蒙】HarmonyOS NEXT开发快速入门教程之ArkTS语法装饰器(上)

系列文章目录 【鸿蒙】HarmonyOS NEXT开发快速入门教程之ArkTS语法装饰器&#xff08;上&#xff09; 【鸿蒙】HarmonyOS NEXT开发快速入门教程之ArkTS语法装饰器&#xff08;下&#xff09; 文章目录 系列文章目录前言一、ArkTS基本介绍1、 ArkTS组成2、组件参数和属性2.1、区…

【BetterBench博士】2024年华为杯E题:高速公路应急车道紧急启用模型 Python代码实现

题目 【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析 【BetterBench博士】2024年中国研究生数学建模竞赛 E题&#xff1a;高速公路应急车道紧急启用模型 问题分析 【BetterBench博士】2024年中国研究生数学建模竞赛 C题&#xff1a;数据驱动…

Linux Kernel Makefiles 编译标志详解

在Linux内核开发中&#xff0c;Makefile文件扮演着至关重要的角色&#xff0c;它指导make命令如何编译和链接内核源代码。Makefile中包含了多种编译标志&#xff08;flags&#xff09;&#xff0c;这些标志控制着编译、汇编和链接过程的不同方面。本文将详细介绍几种关键的编译…

1. ZYNQ 2. MPSOC 3. FPGA 4. Vitis 5. 项目

### 1. 建立Vitis SDK自带的Hello World工程 首先&#xff0c;我们需要在Vitis SDK中创建一个基本的Hello World工程。这是学习FPGA开发和ZYNQ MPSOC平台的重要第一步。Hello World工程的主要目的是验证开发环境的正确性以及熟悉基本的编程流程。 #### 步骤&#xff1a; - 打开…