项目开源-零基础掌握GitHub大文件上传(Git)

GitHub 是一个广受欢迎的开源协作平台,但直接通过网页上传文件时有 25MB 的大小限制。不过,借助 Git 版本控制工具 ,我们可以轻松上传超过此限制的文件。需要注意的是,Git 本身对单个文件也有 100MB 的限制,因此对于超过 100MB 的文件,需要先进行压缩处理。本文将详细介绍如何通过 Git 上传大型文件至 GitHub。

一、前期准备

1. 环境配置

  • 安装 Git :前往 Git 官网 下载并安装适合你操作系统的版本。

  • 注册 GitHub :如果你还没有账号,请到 GitHub 注册。

2. 文件预处理

  • 将所有要上传的文件整理到同一个本地文件夹中。

  • 检查文件大小:确保文件夹中没有超过 100MB 的单个文件。如果存在:

    • 使用压缩工具(如 7-Zip、WinRAR 或系统内置工具)将其压缩。

    • 压缩后,建议删除原始大文件,仅保留压缩包,以避免意外上传。

二、操作步骤

1. 打开 git-bash.exe
2. 使用 cd 命令进入存放文件的目录(注意路径格式,应与下方示例保持一致):
python 复制代码
cd /d/Desktop_Files/文件
3. 然后依次输入以下代码
python 复制代码
git init

git add .      #注意此处,add后面有空格

git commit -m "随便起个文件名"
4. 连接到 GitHub 仓库
  • 在 GitHub 上创建一个新的空仓库
5. 创建完成后,GitHub 会提供一组命令

类似于下图,将这些命令依次Git Bash中执行,即可将本地文件推送到 GitHub。

6. 完成与验证
  • 推送完成后,刷新你的 GitHub 仓库页面,即可看到所有文件。

  • 如果文件较多或较大,上传可能需要一些时间,请耐心等待直到提示完成。

7. 写技术文档

我们开源项目可以在仓库中的 README.md 文件中编写技术说明或使用文档。README支持Markdown格式,便于编写和展示。

三、进阶提示与建议

1. 处理超过 100MB 的文件
  • 如果项目中有超过 100MB 的二进制文件(如数据集、视频、大型安装包等),除了压缩之外,还可以考虑:

    • 使用 Git LFS(Large File Storage) 进行版本管理。

    • 或将大文件存储在云存储服务(如 Google Drive、OneDrive)中,在 README 中提供下载链接。

2. 后续更新项目

若未来需要更新项目文件,可使用以下常用命令:

python 复制代码
git add .                        # 添加更改
git commit -m "更新说明"         # 提交更改
git push origin main             # 推送到 GitHub

如果要同步他人的修改,可以使用 git pull

3. 忽略不需要上传的文件

创建 .gitignore 文件,列出不希望上传的文件或文件夹(如临时文件、日志、本地配置文件等),例如:

python 复制代码
*.log
temp/
config.ini
相关推荐
酷酷的崽7984 小时前
CANN 开源生态特别篇:通过 ONNX 实现跨框架高性能推理
开源
晚霞的不甘6 小时前
CANN × ROS 2:为智能机器人打造实时 AI 推理底座
人工智能·神经网络·架构·机器人·开源
芷栀夏7 小时前
从 CANN 开源项目看现代爬虫架构的演进:轻量、智能与统一
人工智能·爬虫·架构·开源·cann
芷栀夏7 小时前
深度解析 CANN 异构计算架构:基于 ACL API 的算子调用实战
运维·人工智能·开源·cann
酷酷的崽7987 小时前
CANN 开源生态解析(四):`cann-dist-train` —— 构建高效可扩展的分布式训练引擎
分布式·开源
晚霞的不甘8 小时前
CANN 编译器深度解析:TBE 自定义算子开发实战
人工智能·架构·开源·音视频
冬奇Lab8 小时前
一天一个开源项目(第14篇):CC Workflow Studio - 可视化AI工作流编辑器,让AI自动化更简单
人工智能·开源·编辑器
m0_694845578 小时前
tinylisp 是什么?超轻量 Lisp 解释器编译与运行教程
服务器·开发语言·云计算·github·lisp
June`9 小时前
muduo项目排查错误+测试
linux·c++·github·muduo网络库
晚霞的不甘9 小时前
CANN 支持强化学习:从 Isaac Gym 仿真到机械臂真机控制
人工智能·神经网络·架构·开源·音视频