当前位置: 首页 > news >正文

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.xdnf.cn/news/1134955.html

相关文章:

  • Buffer Pool
  • 分布式系统高可用性设计 - 监控与日志系统
  • 能行为监测算法:低成本下的高效管理
  • LVS集群调度器
  • Python高级编程技巧探讨:装饰器、Patch与语法糖详解
  • 第六章 OBProxy 路由与使用运维
  • rLLM:用于LLM Agent RL后训练的创新框架
  • Git版本控制完全指南:从入门到精通
  • Nginx,MD5和Knife4j
  • NLP:LSTM和GRU分享
  • 人工智能之数学基础:神经网络之多样本矩阵参数求导
  • C++ - 仿 RabbitMQ 实现消息队列--sqlite与gtest快速上手
  • 光纤基础知识
  • lua(xlua)基础知识点记录一
  • IIS-网站报500.19错误代码0x8007000d问题解决
  • “重复”定义函数的睿智(Python/与ai助手“智普清言”深度交流)
  • Java后端开发核心笔记:分层架构、注解与面向对象精髓
  • java解析word文档
  • Linux 716 数据库迁移
  • x86版Ubuntu的容器中运行ARM版Ubuntu
  • 零基础学Vue3组件化开发
  • 统计功效是什么?
  • VR 污水厂初体验:颠覆传统认知​
  • 广州 VR 森林防火系统功能探究​
  • AI应用核心转向Context Engineering
  • 在UE中如何操作视图的大小,方位,移动
  • FPGA基础 -- Verilog 访问寄存器数组的指定位示例
  • 详解SPFA算法-单源最短路径求解
  • AI Agent开发学习系列 - langchain之LCEL(2):LCEL 链式表达解析
  • 高性能上位机界面设计范式:C#与C++/C开发调试无缝衔接