当前位置: 首页 > 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.dtcms.com/a/283591.html

相关文章:

  • ESP32 S3 基于 Arduino 实现局域网视频流传输全解析
  • 激活函数LeakyReLU
  • C语言:第07天笔记
  • Python+Selenium自动化
  • Kotlin集合聚合
  • --- bean 的六种作用域 ---
  • Hadoop(三)
  • Doris基础-架构、数据模型、数据划分
  • SpringBoot集成Minio存储文件,开发图片上传等接口
  • 【机器学习【6】】数据理解:数据导入、数据审查与数据可视化方法论
  • 【JavaScript】从事件流到事件委托
  • 6.删除-demo
  • akamai3简单分析
  • 【无标题】LighthouseGS:面向全景式移动拍摄的室内结构感知三维高斯泼溅
  • OJ题目里面的复杂图形的输出类型的汇总展示(巧妙地利用对称性offset偏移量)
  • “重复”定义函数的睿智(Python/与ai助手“智普清言”深度交流)
  • 如何进行选择。
  • 第四章 OB SQL调优
  • OpenVela之 Arch Timer 驱动框架使用指南
  • GESP2025年6月认证C++四级( 第三部分编程题(2)排序)
  • 机器学习中Precision(查准率)和Recall(查全率)
  • 第2章通用的高并发架构设计——2.3 高并发读场景方案2:本地缓存
  • nftables的配置与使用
  • sqlite3_exec函数练习
  • 多维动态规划题解——最小路径和【LeetCode】记忆化搜索翻译为递推写法
  • # Win11开机卡死?无法进入登录界面?3招强制进安全模式,快速修复系统
  • 亚马逊广告深度优化:如何平衡大词与小词的投放,提升转化率?
  • 初学python的我开始Leetcode题-13
  • webpack将组件vue进行编译混淆,并能正常使用编译之后的文件
  • H3CNE综合实验