上传文件和大型文件(超过100MB)至Github
liebian365 2025-01-09 14:12 18 浏览 0 评论
以下命令仅供个人使用,能够使用以下命令上传文件到github仓库的前提是您已经完成创建github repository(仓库)、安装git客户端和绑定用户、为Github账户设置SSH key和为github账号配置ssh key。以上内容请自行百度。
创建一个本地项目
文件夹目录下:
建立本地仓库
git init //把这个目录变成Git可以管理的仓库
git add README.md //文件添加到仓库
git add . //不但可以跟单一文件,还可以跟通配符,更可以跟目录。一个点就把当前目录下所有未追踪的文件全部add了
git commit -m "first commit" //把文件提交到仓库
git remote add origin git@github.com:wangjiax9/practice.git //关联远程仓库
git push -u origin master //把本地库的所有内容推送到远程库上
首先,进入到创建的项目目录,还记得创建仓库成功后的那个页面吧,指令都在呢。
然后执行指令:git init
初始化成功后你会发现项目里多了一个隐藏文件夹.git
这个目录是Git用来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。
接着,将所有文件添加到仓库
执行指令:git add .
然后,把文件提交到仓库,双引号内是提交注释。
执行指令:git commit -m "Create project"
如此本地仓库建立好了。
关联github仓库
在github网站中创建仓库。创建好创仓库后,复制SSH。
然后执行指令:git remote add origin git@github.com:chuyu-jpg/CasFlow-Draft.git
上传本地代码
执行指令:git push -u origin master
到此,本地代码已经推送到github仓库了,我们现在去githubt仓库看看。
Github上传大文件
GitHub有一个限制,不能上传超过100M的文件。如果要上传的文件超过 GitHub 的文件大小限制,你可以考虑以下方法:
使用 Git LFS:Git LFS(Large File Storage)是一个扩展工具,用于管理大文件。它允许你将大文件存储在 Git 仓库之外,并在仓库中保留文件的引用。通过使用 Git LFS,你可以上传和管理大文件,而不受 GitHub 文件大小限制的影响。
如果你的文件非常大,超过了 Git LFS 的限制,你可以考虑使用外部存储服务,如云存储服务(如 Amazon S3、Google Cloud Storage)或文件传输服务(如 Dropbox)。你可以将文件上传到外部存储服务,然后在 GitHub 仓库中添加一个指向外部存储位置的链接或引用。
这里采用Git LFS扩展工具。
Git LFS(Large File Storage)是一个 Git 扩展工具,用于管理大文件。它通过将大文件存储在 Git 仓库之外,并在仓库中保留文件的引用,来解决 Git 对大文件的处理效率和限制问题。
以下是关于 Git LFS 的一些重要概念和使用方法:
1.安装 Git LFS:首先,你需要在本地系统上安装 Git LFS。可以从 Git LFS 官方网站(https://git-lfs.github.com/)下载适合你操作系统的安装程序,并按照说明进行安装。
2.初始化 Git LFS:在你的 Git 仓库中,使用以下命令来初始化 Git LFS:
git lfs install
这将在当前仓库中启用 Git LFS。
3.跟踪大文件:使用以下命令告诉 Git LFS 跟踪特定文件类型的大文件:
git lfs track "*.ext"
将 *.ext 替换为你要跟踪的文件类型的模式,例如 *.mp4 或 *.zip。Git LFS 将会为匹配的文件类型启用跟踪。
这将告诉 Git LFS 跟踪所有扩展名为 *.ext的文件,并使用 Git LFS 进行管理。
完成上述步骤后,Git LFS 将会跟踪并管理所有匹配*.ext 扩展名的文件。在提交、推送和拉取时,Git LFS 会相应地处理这些大文件,确保它们被正确地上传和下载。
4.添加.gitattributes
在命令行终端中,使用 Git 命令将 .gitattributes 文件添加到仓库并提交:
git add .gitattributes
说明:.gitattributes 是 Git 的一个配置文件,用于指定特定文件或文件类型的属性和处理方式。它可以用于定义 Git 在处理文件时的行为,例如在版本控制、合并和检出文件时的属性设置。
.gitattributes 文件的作用包括:
(1)文件属性设置:你可以使用 .gitattributes 文件指定特定文件或文件类型的属性。例如,你可以定义某个文件应被视为二进制文件,或者使用 Git LFS 进行管理。
(2)文本处理:.gitattributes 文件可以用于指定文本文件的行尾格式(如 CRLF 或 LF),这对于跨平台协作很有用。你可以设置文件的 text 或 binary 属性,控制 Git 是否将其视为文本文件。
(3)合并策略:通过 .gitattributes 文件,你可以为不同类型的文件指定合并策略,以决定在合并分支时如何处理这些文件的冲突。
(4)过滤和清理:.gitattributes 文件允许你配置 Git 过滤器,以在提交或检出文件时执行自定义的过滤和清理操作。这对于对文件进行自动处理、格式转换或敏感信息过滤很有用。
.gitattributes 文件的语法是基于模式匹配的,你可以使用通配符、正则表达式和文件路径模式来匹配文件,并为其指定相应的属性和操作。
请注意,.gitattributes 文件需要添加到 Git 仓库,并确保其他协作者在克隆或拉取仓库时能够正确应用这些属性规则。
5.添加要上传(push)的文件并提交(commit)
git add .
git commit -m "large file weibo_dataset.txt"
6.添加和提交大文件:使用常规的 Git 命令 git add 和 git commit 将大文件添加到 Git LFS 管理中。例如:
git add large_file.ext
git commit -m "Add large file using Git LFS"
这将将大文件添加到 Git LFS 管理,并创建一个包含大文件引用的提交。
7.将本地与新建仓库进行配对
git remote add origin git@github.com:chuyu-jpg/CasFlow-Draft.git
8.推送和拉取大文件:使用常规的 git push 和 git pull 命令来推送和拉取包含大文件的提交。Git LFS 会自动处理大文件的上传和下载。
通过使用 Git LFS,你可以更有效地管理大文件,并避免 Git 对大文件的限制和性能问题。请注意,你需要确保你的 Git 服务器和其他协作者也已正确配置和支持 Git LFS,以便顺利共享和协作处理大文件。
9.正式上传
git push -u origin master
成功上传大型文件
相关推荐
- 4万多吨豪华游轮遇险 竟是因为这个原因……
-
(观察者网讯)4.7万吨豪华游轮搁浅,竟是因为油量太低?据观察者网此前报道,挪威游轮“维京天空”号上周六(23日)在挪威近海发生引擎故障搁浅。船上载有1300多人,其中28人受伤住院。经过数天的调...
- “菜鸟黑客”必用兵器之“渗透测试篇二”
-
"菜鸟黑客"必用兵器之"渗透测试篇二"上篇文章主要针对伙伴们对"渗透测试"应该如何学习?"渗透测试"的基本流程?本篇文章继续上次的分享,接着介绍一下黑客们常用的渗透测试工具有哪些?以及用实验环境让大家...
- 科幻春晚丨《震动羽翼说“Hello”》两万年星间飞行,探测器对地球的最终告白
-
作者|藤井太洋译者|祝力新【编者按】2021年科幻春晚的最后一篇小说,来自大家喜爱的日本科幻作家藤井太洋。小说将视角放在一颗太空探测器上,延续了他一贯的浪漫风格。...
- 麦子陪你做作业(二):KEGG通路数据库的正确打开姿势
-
作者:麦子KEGG是通路数据库中最庞大的,涵盖基因组网络信息,主要注释基因的功能和调控关系。当我们选到了合适的候选分子,单变量研究也已做完,接着研究机制的时便可使用到它。你需要了解你的分子目前已有哪些...
- 知存科技王绍迪:突破存储墙瓶颈,详解存算一体架构优势
-
智东西(公众号:zhidxcom)编辑|韦世玮智东西6月5日消息,近日,在落幕不久的GTIC2021嵌入式AI创新峰会上,知存科技CEO王绍迪博士以《存算一体AI芯片:AIoT设备的算力新选择》...
- 每日新闻播报(September 14)_每日新闻播报英文
-
AnOscarstatuestandscoveredwithplasticduringpreparationsleadinguptothe87thAcademyAward...
- 香港新巴城巴开放实时到站数据 供科技界研发使用
-
中新网3月22日电据香港《明报》报道,香港特区政府致力推动智慧城市,鼓励公私营机构开放数据,以便科技界研发使用。香港运输署21日与新巴及城巴(两巴)公司签署谅解备忘录,两巴将于2019年第3季度,开...
- 5款不容错过的APP: Red Bull Alert,Flipagram,WifiMapper
-
本周有不少非常出色的app推出,鸵鸟电台做了一个小合集。亮相本周榜单的有WifiMapper's安卓版的app,其中包含了RedBull的一款新型闹钟,还有一款可爱的怪物主题益智游戏。一起来看看我...
- Qt动画效果展示_qt显示图片
-
今天在这篇博文中,主要实践Qt动画,做一个实例来讲解Qt动画使用,其界面如下图所示(由于没有录制为gif动画图片,所以请各位下载查看效果):该程序使用应用程序单窗口,主窗口继承于QMainWindow...
- 如何从0到1设计实现一门自己的脚本语言
-
作者:dong...
- 三年级语文上册 仿写句子 需要的直接下载打印吧
-
描写秋天的好句好段1.秋天来了,山野变成了美丽的图画。苹果露出红红的脸庞,梨树挂起金黄的灯笼,高粱举起了燃烧的火把。大雁在天空一会儿写“人”字,一会儿写“一”字。2.花园里,菊花争奇斗艳,红的似火,粉...
- C++|那些一看就很简洁、优雅、经典的小代码段
-
目录0等概率随机洗牌:1大小写转换2字符串复制...
- 二年级上册语文必考句子仿写,家长打印,孩子照着练
-
二年级上册语文必考句子仿写,家长打印,孩子照着练。具体如下:...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- wireshark怎么抓包 (75)
- qt sleep (64)
- cs1.6指令代码大全 (55)
- factory-method (60)
- sqlite3_bind_blob (52)
- hibernate update (63)
- c++ base64 (70)
- nc 命令 (52)
- wm_close (51)
- epollin (51)
- sqlca.sqlcode (57)
- lua ipairs (60)
- tv_usec (64)
- 命令行进入文件夹 (53)
- postgresql array (57)
- statfs函数 (57)
- .project文件 (54)
- lua require (56)
- for_each (67)
- c#工厂模式 (57)
- wxsqlite3 (66)
- dmesg -c (58)
- fopen参数 (53)
- tar -zxvf -c (55)
- 速递查询 (52)