github上传大文件(多种解决方案)

        之前一直用vscode的上传项目方法,这个方便之处在于不用打开git终端输入各种命令,不过麻烦的是我一直无法拉取github上的远程仓库提交,每次只能更新已有的仓库并且上传的文件还不能太大,应该是不能超过100MB,而且直接在github界面上传文件也不能超过25MB,这是github为了保证网页的响应速度。

        于是看了B站的一个up主采用git方法来上传文件,整个流程还是挺丝滑的,不过有一些需要注意的点。

        下面演示整个过程。

        下载git(不会可以搜搜教程,不难),首先在github上创建一个新仓库,如果你直接在这里Add file,添加了一些文件或者添加readme文件,那么后面有一些点需要注意。

        右键我们要上传的文件,点击Open Git Bash here 。

        依次输入以下两条命令表示上传该文件中的所有的文件。(暂时可忽略可能出现的一些警告信息)

        这时在我们要上传的文件中会出现一个git文件夹(如果没有,可能是被隐藏了,点击查看,显示隐藏的项目)。

        点击刚刚出现的git文件夹,再点击里面的config文件,用vscode或者记事本打开,添加[user]和后面的两条信息,对应的是自己github的注册邮箱和github名字。

[user]
email=2059356794@qq.com
name=ziyizhou

        再输入下面这条指令," "中是自己取的本次提交的名字。 

        这时会加载我们文件夹中的所有文件。 

        再输入下面这条命令,origin后面的网址是自己刚刚创建的github网址 。

        网址从自己的github项目复制 。

        输入下面这条指令推送(push)项目到github就完成啦,注意现在的github默认分支是main,之前的默认是master,可能你看别的教程使用的是master,这是老版本。

        现在的github默认分支是main,如下图。

        注意,前面提到,如果你在创建项目时直接Add file,添加了一些文件或者添加readme文件,那么直接push会失败,会报以下的错误,这个错误说明远程仓库的main分支有本地没有的更新(比如其他人推送过代码,或你在 GitHub 网页端直接修改过文件),需要先同步远程的更新到本地,再推送你的修改。

        执行以下这条命令,这条指令的意思是把远程库中的更新合并到本地库中,-rebase的作用是取消掉本地库中刚刚的commit,并把他们接到更新后的版本库之中。

        用图形象的解释下错误情况的发生和解决(摘抄自其他博客)

gitpush失败2


git pull –rebase origin main意为先取消commit记录,并且把它们临时 保存为补丁(patch)(这些补丁放到”.git/rebase”目录中),之后同步远程库到本地,最后合并补丁到本地库之中。

gitpush失败3


接下来就可以把本地库push到远程库当中了。

gitpush失败4

        再重新执行推送操作就可以、成功上传啦。 

        刷新我们的github项目,就可以看到文件已经被上传了。

可能遇到的问题:

        当遇到HTTP缓存不够导致的Git错误时。

        修改git配置,增大http.postBuffer值,例如设置为524288000字节,以允许更大的文件传输。输入以下指令。

$ git config --global http.postBuffer 524288000


        

        如果还是上传失败,比如我在上传一个较大项目时总是上传失败,显示 Connection was absorted,连接被终止。

 

        使用SSH密钥上传 

        点击Settings

点击新建一个密钥 

给密钥起一个名字

 

win+R,输入cmd打开终端,输入以下指令获取密钥

ssh-keygen -t rsa -b 4096 -C "注册github的邮箱"

 打开生成密钥的pub文件,

复制密钥到github上

点击添加密钥,验证密码后,打开我们要上传的文件的git终端,和前面的操作一致。

在origin后面,复制的github网址就不再是HTTP网址,而是SSH网址。

 

类似的操作,改变下网址类型。

显示推送成功。

如果你在操作过程过程中遇到了任何问题,欢迎留言 ! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/89225.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/89225.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

生活污水深度除磷的方法

生活污水中磷含量过多的危害大家都知道总磷是水质检测的重要指标之一,在污水处理中生活污水往往都会出现总磷超标的现象。生活污水磷超标的危害是多方面的主要包括水体富营养化、危害水生生物、影响人类健康,以及可能引发蓝藻水华等问题。除磷方法污水的…

Flutter瀑布流布局深度实践:打造高性能动态图片墙

本文将深入探讨如何在Flutter中实现高性能瀑布流布局,解决动态高度内容展示的核心难题,并带来卓越的用户体验。引言:瀑布流布局的魅力 瀑布流布局(Pinterest-style layout)已成为现代应用展示图片和内容的黄金标准。它通过错落有致的排列方式…

OpenCV 伽马校正函数gammaCorrection()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 该函数用于对输入图像应用伽马校正(Gamma Correction),这是一种非线性的图像处理技术,主要用于调整…

Linux-局域网构建+VLAN 划分 + 端口 MAC-IP 绑定 + 静态 DHCP

文章目录1. 适用于家庭、工作室或小型企业的局域网构建2. VLAN划分3. VLAN 划分 端口 MAC-IP 绑定 静态 DHCP跳转→网络管理基础复习 1. 适用于家庭、工作室或小型企业的局域网构建 ✅ 一、硬件连线(一次到位) 光纤入户 → 光猫/宽带调制解调器光猫…

渗透测试路线

渗透测试学习路线报告(从入门到高级) 引言:渗透测试概述与学习路线设计 渗透测试作为网络安全体系中的核心实践环节,通过模拟真实攻击者的技术手段与攻击路径,主动识别信息系统中的安全漏洞、评估防护机制有效性&#…

Node.js 中http 和 http/2 是两个不同模块对比

1. 核心模块对比 特性http 模块 (HTTP/1.1)http2 模块 (HTTP/2)协议版本HTTP/1.1(文本协议)HTTP/2(二进制协议)多路复用不支持(需多个 TCP 连接)支持(单连接多流)头部压缩无HPACK 压…

3DGS之COLMAP

COLMAP 在 3DGS 中起到了数据预处理和三维重建的关键作用,其处理流程包括特征提取与匹配、稀疏重建、稠密重建和输出文件生成。结合 3DGS 的高斯分布建模和优化算法,COLMAP 提供了场景的几何和相机信息,为实时渲染和三维重建奠定了基础。一、…

RabbitMQ中队列长度限制(Queue Length Limit)详解

在 RabbitMQ 中,队列长度限制(Queue Length Limit)是指对队列中消息数量的最大限制。当队列中的消息数量达到设定的上限时,RabbitMQ 会根据配置的策略(如丢弃旧消息、拒绝新消息或将消息转移到另一个队列)来…

Python设计模式深度解析:建造者模式(Builder Pattern)完全指南

Python设计模式深度解析:建造者模式(Builder Pattern)完全指南前言什么是建造者模式?建造者模式的核心思想模式的核心组成实际案例一:UI选择组件的动态构建抽象建造者基类具体建造者实现列表框建造者复选框建造者工厂建…

elementuiPlus+vue3手脚架后台管理系统,上生产环境之后,如何隐藏vite.config.ts的target地址

在项目根目录创建 .env.production 文件: VITE_API_TARGEThttps://your-real-api.com修改 vite.config.ts: import { defineConfig, loadEnv } from viteexport default defineConfig(({ mode }) > {const env loadEnv(mode, process.cwd(), )return…

ARCGIS PRO DSK 颜色选择控件(ColorPickerControl)的调用

颜色选择控件ColorPickerControl 。一、XAML 集成方式 1 、在WPF窗体上使用,xml:加入空间命名引用xmlns:ui1"clr-namespace:ArcGIS.Desktop.Internal.Mapping.Symbology;assemblyArcGIS.Desktop.Mapping" xmlns:uil"http://schemas.xceed…

深浅拷贝以及函数缓存

目录 数据类型介绍 基本数据类型(Primitive Types) 引用数据类型(Reference Types) 浅拷贝 深拷贝 利用JSON的序列化和反序列化实现深拷贝 递归实现深拷贝 第三方库lodash的cloneDeep 函数缓存的概念 实现方法 数据类型介…

第六届信号处理与计算机科学国际学术会议(SPCS 2025)

重要信息 官网:www.icspcs.org (详情见官网) 时间:2025年8月15-17日 地点:西安 主题 信号处理与智能计算计算科学与人工智能网络与多媒体技术数字信号处理 雷达信号处理 通信信号处理 临时和传感器网络 模拟和…

MongoDB:一个灵活的、可扩展的 NoSQL 数据库

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 🍚 蓝桥云课签约作者、…

系统思考场景应用

最近一直在与不同行业头部企业共同探讨系统思考这个主题。一些新的合作伙伴也常常问我,系统思考究竟能为客户解决什么痛点? 这两天上课客户的核心需求是:全局思维。在过去的几年里,我深切体会到,随着外部环境的快速变化…

SQL预编译:安全高效数据库操作的关键

通过占位符(如 ? 或命名参数)编写预编译的 SQL 语句(通常通过 PreparedStatement 实现)是数据库操作的最佳实践,主要好处包括:🔒 1. 防止 SQL 注入攻击(核心安全优势) 问…

springboot实验室管理系统-计算机毕业设计源码20916

摘 要 随着高校实验室管理需求的不断增加,传统的管理方式已经难以满足现代教育的要求。为了解决这一问题,本文设计并实现了一种基于VUE和SpringBoot的实验室管理系统。该系统采用前后端分离的架构,前端使用VUE框架,后端基于Sprin…

spdringboot共享学习室小程序 计算机毕业设计源码27728

摘 要 共享学习室小程序是一款基于SpringBoot框架开发的移动端应用,旨在提供一个便捷的自习室预约、管理和资源共享平台。通过该小程序,用户可以方便地预约自习室、查看资讯、提交反馈意见,同时进行失物招领、查看订单信息等多项操作。对于管…

JVM——JVM 的内存区域是如何划分的?

Java 虚拟机运行时数据区分为方法区、堆、虚拟机栈、本地方法栈、程序计数器。 方法区(Method Area): [1] 存储类信息、常量、静态变量和即时编译器(JIT)编译后的代码。 [2] 属于线程共享区域,所有线程共享方法区内存 [3] 在 JDK8之前,HotSpot使用永久代…

SpringAi笔记

简介 :: Spring AI 中文文档 Spring AI 解决了 AI 集成的根本难题:将企业数据和 API 与 AI 模型连接起来。 聊天客户端 API (ChatClient ) 发起对模型的调用和响应 创建:其中可以通过bean来注入创建好的chatClient 可以使用Qualifier注解,…