【Git】保姆级教程:如何在 GitHub 上传大文件(≥100M)?(含自己的操作流程)

这篇具有很好参考价值的文章主要介绍了【Git】保姆级教程:如何在 GitHub 上传大文件(≥100M)?(含自己的操作流程)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、问题导读

GitHub是我们常用的代码托管平台,但GitHub有一个限制,不能上传超过100M的文件。

如果要上传的文件超过 GitHub 的文件大小限制,你可以考虑以下方法:

  1. 使用 Git LFS:Git LFS(Large File Storage)是一个扩展工具,用于管理大文件。它允许你将大文件存储在 Git 仓库之外,并在仓库中保留文件的引用。通过使用 Git LFS,你可以上传和管理大文件,而不受 GitHub 文件大小限制的影响。
  2. 使用外部存储服务:如果你的文件非常大,超过了 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。

  1. 跟踪大文件:使用以下命令告诉 Git LFS 跟踪特定文件类型的大文件:
git lfs track "*.ext"

*.ext 替换为你要跟踪的文件类型的模式,例如 *.mp4*.zip。Git LFS 将会为匹配的文件类型启用跟踪。

  1. 添加和提交大文件:使用常规的 Git 命令 git add 和 git commit 将大文件添加到 Git LFS 管理中。例如:
git add large_file.ext
git commit -m "Add large file using Git LFS"

这将将大文件添加到 Git LFS 管理,并创建一个包含大文件引用的提交。

  1. 推送和拉取大文件:使用常规的 git push 和 git pull 命令来推送和拉取包含大文件的提交。Git LFS 会自动处理大文件的上传和下载。

通过使用 Git LFS,你可以更有效地管理大文件,并避免 Git 对大文件的限制和性能问题。请注意,你需要确保你的 Git 服务器和其他协作者也已正确配置和支持 Git LFS,以便顺利共享和协作处理大文件。

二、自己的实际操作流程

首先看一下我要上传的文件:
github上传大文件,Github,git,github
github上传大文件,Github,git,github
github上传大文件,Github,git,github
我有一个pretrained_ckpt的文件夹,里面有四个文件夹,每一个文件夹里面都有好多个pth大文件,我该如何上传到我的github远程仓库上呢?

下面是我的一个详细的步骤:

2.1 准备工作

  1. 在电脑中自选目录新建一个文件夹(例:F:\git文件夹\pretrained_ckpt);
  2. 在GitHub上新建一个仓库(Repositories),GitHub有官方教程;
  3. 打开Git Bash,进入刚刚新建的文件夹:
cd /f/git文件夹

github上传大文件,Github,git,github

2.2 初始化仓库

git init

git init 是一个 Git 命令,用于在当前目录中初始化一个新的 Git 仓库。通过运行该命令,Git 会在当前目录下创建一个隐藏的 .git 文件夹,用于存储仓库的相关信息和版本控制的历史记录。

如果命令执行成功,你将看到一个类似于以下内容的输出:

Initialized empty Git repository in /path/to/your/repository/.git/

github上传大文件,Github,git,github
请注意,Git 仓库中的 .git 文件夹是隐藏的,因此在文件浏览器中可能看不到它。你可以使用命令行或文件浏览器的显示隐藏文件选项来查看它。

github上传大文件,Github,git,github

2.3 安装git lfs(一个仓库里面执行一次就好了)

git lfs install

github上传大文件,Github,git,github
git lfs install 是 Git LFS(Large File Storage)的命令之一,用于在本地系统中安装 Git LFS 扩展。

下面是使用 git lfs install 安装 Git LFS 的步骤:

  1. 确保你已经在本地系统中安装了 Git。你可以在命令行终端中运行以下命令来验证是否安装了 Git:
git --version

如果已安装 Git,将显示 Git 的版本信息。如果未安装 Git,请按照适用于你操作系统的说明进行安装。

github上传大文件,Github,git,github

  1. 打开命令行终端,并进入要使用 Git LFS 的目录。

  2. 运行以下命令:

git lfs install

这将下载和安装 Git LFS 扩展,并将其配置为与 Git 一起使用。

  1. 如果安装成功,你将看到类似以下输出:
Updated git hooks.
Git LFS initialized.

这表示 Git LFS 已成功安装和初始化。

现在,你的系统已安装 Git LFS,并可以在 Git 仓库中使用 Git LFS 来管理大文件。你可以使用其他 Git LFS 命令来跟踪大文件、添加文件到 Git LFS 管理、推送和拉取文件等操作。请确保你的 Git 服务器和其他协作者也已正确配置和支持 Git LFS,以便顺利地使用 Git LFS 功能。

2.4 跟踪一下你要上传(push)的文件或指定文件类型

git lfs track "*.pth"

这将告诉 Git LFS 跟踪所有扩展名为 .pth 的文件,并使用 Git LFS 进行管理。

完成上述步骤后,Git LFS 将会跟踪并管理所有匹配 .pth 扩展名的文件。在提交、推送和拉取时,Git LFS 会相应地处理这些大文件,确保它们被正确地上传和下载。

github上传大文件,Github,git,github

2.5 添加.gitattributes

.gitattributes 是 Git 的一个配置文件,用于指定特定文件或文件类型的属性和处理方式。它可以用于定义 Git 在处理文件时的行为,例如在版本控制、合并和检出文件时的属性设置。

.gitattributes 文件的作用包括:

  1. 文件属性设置:你可以使用 .gitattributes 文件指定特定文件或文件类型的属性。例如,你可以定义某个文件应被视为二进制文件,或者使用 Git LFS 进行管理。
  2. 文本处理:.gitattributes 文件可以用于指定文本文件的行尾格式(如 CRLF 或 LF),这对于跨平台协作很有用。你可以设置文件的 text 或 binary 属性,控制 Git 是否将其视为文本文件。
  3. 合并策略:通过 .gitattributes 文件,你可以为不同类型的文件指定合并策略,以决定在合并分支时如何处理这些文件的冲突。
  4. 过滤和清理:.gitattributes 文件允许你配置 Git 过滤器,以在提交或检出文件时执行自定义的过滤和清理操作。这对于对文件进行自动处理、格式转换或敏感信息过滤很有用。

.gitattributes 文件的语法是基于模式匹配的,你可以使用通配符、正则表达式和文件路径模式来匹配文件,并为其指定相应的属性和操作。

请注意,.gitattributes 文件需要添加到 Git 仓库,并确保其他协作者在克隆或拉取仓库时能够正确应用这些属性规则。

在命令行终端中,使用 Git 命令将 .gitattributes 文件添加到仓库并提交:

git add .gitattributes

github上传大文件,Github,git,github

2.6 添加要上传(push)的文件并提交(commit)

git add .

github上传大文件,Github,git,github

git commit -m "RegionCLIP_pretrained_ckpt"

github上传大文件,Github,git,github

2.7 将本地与新建仓库进行配对

git remote add origin git@github.com:biluko/RegionCLIP_petrained_ckpt.git

github上传大文件,Github,git,github

2.8 让上传看起来更连续,而不是多出很多无用的merge commit

git pull --rebase origin master

github上传大文件,Github,git,github
git pull --rebase origin master 是一个 Git 命令,用于从远程仓库(通常是命名为 origin)拉取最新的提交,并通过变基(rebase)方式将本地的提交应用到更新后的远程分支上。

该命令的作用如下:

  1. 从远程仓库(origin)拉取最新的提交:git pull 首先会执行 git fetch,将远程仓库的最新提交下载到本地的远程跟踪分支(例如 origin/master)。
  2. 变基(rebase)本地提交:–rebase 参数告诉 Git 在将本地的提交应用到更新后的远程分支之前,先执行变基操作。变基会将当前分支的提交“重新播放”在远程分支的最新提交之上。
  3. 应用本地提交:在变基操作完成后,Git 会将本地的提交逐个应用到更新后的远程分支上。

使用 git pull --rebase origin master 命令的优势在于能够在提交历史中保持一条干净的线性历史。相比使用普通的 git pull 命令(默认使用合并方式),使用变基可以避免创建额外的合并提交,使得提交历史更加整洁。

然而,需要注意的是,当多个人同时在同一分支上工作时,使用变基操作可能会导致冲突。在进行变基操作前,请确保你的本地分支没有与远程分支冲突的提交,或者在变基后解决任何可能的冲突。

综上所述,git pull --rebase origin master 的作用是拉取远程分支的最新提交,并使用变基方式将本地提交应用到更新后的远程分支上。这有助于保持提交历史的整洁性。

2.9 正式上传

git push -u origin master

github上传大文件,Github,git,github

git push origin master

github上传大文件,Github,git,github

上传成功!文章来源地址https://www.toymoban.com/news/detail-637760.html

到了这里,关于【Git】保姆级教程:如何在 GitHub 上传大文件(≥100M)?(含自己的操作流程)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Git——如何上传本地文件到自己的github仓库

    本博文介绍了如何将本地的项目文件推送到自己远程的github仓库。 因为程序是在ubuntu系统里面跑的, 一开始是想在Ubuntu系统里面将文件上传到github仓库,通过修改hosts文件里面的github的ip地址,偶尔能在浏览器里面打开github网页,但非常慢,而且再次登录github页面经常又打不

    2024年01月24日
    浏览(43)
  • git上传仓库内容超过100M解决方法git

    报错例如: 原因是上传文件最大只能上传100M,所以这里要把太大的文件删除,然后重新提交git 操作步骤如下: 1、先找到文件的具体路径(执行方法上述报错中有) 参考:git rev-list --objects --all | grep 你commit的版本号 2、执行删除 参考:git filter-branch -f --prune-empty --index-filte

    2024年02月14日
    浏览(26)
  • GitHub从注册到上传静态网页(保姆级教程手把手教你上载自己的静态网页)

    全程我会卸载软件和创建小号进行展示,小白也可以玩转 这是按照本教程搭建的GitHub托管网页,由于是GitHub的服务器,国内访问会非常!慢! https://hidered.github.io/zzz.github.io/ https://github.com/ 浏览器输入 进入后网页如下 无法验证就要再输入一次,这个验证方式还是很好玩的 那

    2024年02月03日
    浏览(28)
  • git提交报错文件超过100M

    上传代码到代码库的时候报错如下: 该问题的原因是git不允许提交大于100M的文件,而我提交过程中有个模型文件大小超过了100M,从而导致上传失败。 1、按照提示查看是哪个文件超过100M 此时会输出25cb793092c7ddcf9bdcd716eec9f4f8214fd081文件所对应的文件目录。 2、在commit的提交历史

    2024年02月06日
    浏览(27)
  • 如何从 GitHub 上克隆一个仓库、进行修改、提交并上传回 GitHub 新手保姆级教程

    如果你的电脑上没有安装Git,你首先需要下载并安装它。你可以在Git官网上找到安装程序。(注:如果官网上下载缓慢 解决方法1 开个加速器 解决方法2 去镜像网站下载) 镜像网站地址 CNPM Binaries Mirror  不知道下哪个版本好可以选这个版本 并根据自己电脑位数选择 对应红框

    2024年01月17日
    浏览(43)
  • [git push]remote: error: File: MB, exceeds 100.00 MB.git push提示文件大于100m处理方法与git删除缓存文件

    使用git push将本地项目push到gitee时,发生错误报告,如下图所示: 标红的error显示: error: File: f8ca2c1b4c347904a4b088d145b55e9c2b595f80 102.62 MB, exceeds 100.00 MB. 可知gitee超过100MB的文件无法上传,此时如果在项目中删除此文件,重新使用 git add . 、 git commit -m \\\"XXX\\\" 的方式,会导致文件依然

    2024年03月25日
    浏览(34)
  • 【通俗易懂】如何使用GitHub上传文件,如何用git在github上传文件

      目录 创建 GitHub 仓库 使用 Git 进行操作 步骤 1:初始化本地仓库 步骤 2:切换默认分支 步骤 3:连接到远程仓库 步骤 4:获取远程更改 步骤 5:添加文件到暂存区 步骤 6:提交更改 步骤 7:尝试使用 SSH 协议 步骤 8:上传项目 在现代软件开发中,版本控制是一个至关重要的

    2024年02月12日
    浏览(32)
  • Git如何上传文件到github

    Git下载网址:  https://git-scm.com/downloads  1. 新建一个空文件夹,用来上传文件,第一次需创建,以后无需创建 2. 点进去空文件夹,鼠标右键,使用 Git Bash Here 打开 3. 克隆远程仓库: git clone + 你的仓库地址 4. 将要上传的文件 复制 到这个文件夹下 5.  cd  需要上传的仓库名  

    2024年02月12日
    浏览(24)
  • 【Git】大问题大问题~remote: error: File: MB, exceeds 100.00 MB.git push提示我文件大于100m处理方法

    今天,在将本地的文档提交到gitee仓库时,突然爆了个大错误!什么100MB,在网上一通乱找,总结如下: 其实根据报错原因提示: Gitee免费用户单个文件最大100M,因此只能上传小于100M文件。 解决方案 查看哪个文件超过了100M 有可能错误直接爆出是哪个文件,也有可能只是爆

    2024年02月13日
    浏览(29)
  • 如何调教让chatgpt读取自己的数据文件(保姆级图文教程)

    提示:如何调教让chatgpt读取自己的数据文件(保姆级图文教程) chatgpt提示不能读取我们提供的数据文件,我们应该对它进行调教。 让chatgpt读取自己投喂的数据,然后帮忙分析。这时候我们需要通过调教对话让他主动读取自己的数据,具体步骤如下。 1.先说明目的 2.让他提供方

    2024年02月13日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包