ToB企服应用市场:ToB评测及商务社交产业平台

标题: 【Git】保姆级教程:怎样在 GitHub 上传大文件(≥100M)?(含本身的操作 [打印本页]

作者: 莱莱    时间: 2024-9-24 04:07
标题: 【Git】保姆级教程:怎样在 GitHub 上传大文件(≥100M)?(含本身的操作
一、问题导读

GitHub是我们常用的代码托管平台,但GitHub有一个限制,不能上传超过100M的文件。
如果要上传的文件超过 GitHub 的文件大小限制,你可以考虑以下方法:
我们这里采用Git LFS扩展工具。
Git LFS(Large File Storage)是一个 Git 扩展工具,用于管理大文件。它通过将大文件存储在 Git 堆栈之外,并在堆栈中保留文件的引用,来办理 Git 对大文件的处理服从和限制问题。
以下是关于 Git LFS 的一些重要概念和利用方法:
  1. git lfs install
复制代码
这将在当前堆栈中启用 Git LFS。
  1. git lfs track "*.ext"
复制代码
将 *.ext 更换为你要跟踪的文件类型的模式,比方 *.mp4 或 *.zip。Git LFS 将会为匹配的文件类型启用跟踪。
  1. git add large_file.ext
  2. git commit -m "Add large file using Git LFS"
复制代码
这将将大文件添加到 Git LFS 管理,并创建一个包罗大文件引用的提交。
通过利用 Git LFS,你可以更有用地管理大文件,并避免 Git 对大文件的限制和性能问题。请留意,你需要确保你的 Git 服务器和其他协作者也已精确配置和支持 Git LFS,以便顺利共享和协作处理大文件。
二、本身的实际操作流程

首先看一下我要上传的文件:



我有一个pretrained_ckpt的文件夹,里面有四个文件夹,每一个文件夹里面都有好多个pth大文件,我该怎样上传到我的github远程堆栈上呢?
下面是我的一个详细的步骤:
2.1 预备工作

  1. cd /f/git文件夹
复制代码

2.2 初始化堆栈

  1. git init
复制代码
git init
是一个 Git 命令,用于在当前目次中初始化一个新的 Git 堆栈。通过运行该命令,Git 会在当前目次下创建一个隐藏的 .git 文件夹,用于存储堆栈的相关信息和版本控制的历史记录。
如果命令执行成功,你将看到一个类似于以下内容的输出:
  1. Initialized empty Git repository in /path/to/your/repository/.git/
复制代码

请留意,Git 堆栈中的 .git 文件夹是隐藏的,因此在文件欣赏器中可能看不到它。你可以利用命令行或文件欣赏器的显示隐藏文件选项来查看它。

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

  1. git lfs install
复制代码

git lfs install


是 Git LFS(Large File Storage)的命令之一,用于在本地系统中安装 Git LFS 扩展。
下面是利用 git lfs install


安装 Git LFS 的步骤:
  1. git --version
复制代码
如果已安装 Git,将显示 Git 的版本信息。如果未安装 Git,请按照适用于你操作系统的说明举行安装。

  1. git lfs install
复制代码
这将下载和安装 Git LFS 扩展,并将其配置为与 Git 一起利用。
  1. Updated git hooks.
  2. Git LFS initialized.
复制代码
这表示 Git LFS 已成功安装和初始化。
现在,你的系统已安装 Git LFS,并可以在 Git 堆栈中利用 Git LFS 来管理大文件。你可以利用其他 Git LFS 命令来跟踪大文件、添加文件到 Git LFS 管理、推送和拉取文件等操作。请确保你的 Git 服务器和其他协作者也已精确配置和支持 Git LFS,以便顺利地利用 Git LFS 功能。
2.4 跟踪一下你要上传(push)的文件或指定文件类型

  1. git lfs track "*.pth"
复制代码
这将告诉 Git LFS 跟踪所有扩展名为 .pth 的文件,并利用 Git LFS 举行管理。
完成上述步骤后,Git LFS 将会跟踪并管理所有匹配 .pth 扩展名的文件。在提交、推送和拉取时,Git LFS 会相应地处理这些大文件,确保它们被精确地上传和下载。

2.5 添加.gitattributes

.gitattributes 是 Git 的一个配置文件,用于指定特定文件或文件类型的属性和处理方式。它可以用于定义 Git 在处理文件时的举动,比方在版本控制、归并和检出文件时的属性设置。
.gitattributes 文件的作用包括:
.gitattributes 文件的语法是基于模式匹配的,你可以利用通配符、正则表达式和文件路径模式来匹配文件,并为其指定相应的属性和操作。
请留意,.gitattributes 文件需要添加到 Git 堆栈,并确保其他协作者在克隆或拉取堆栈时可以大概精确应用这些属性规则。
在命令行终端中,利用 Git 命令将 .gitattributes 文件添加到堆栈并提交:
  1. git add .
  2. gitattributes
复制代码

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

  1. git add .
复制代码

  1. git commit -m "RegionCLIP_pretrained_ckpt"
复制代码

2.7 将本地与新建堆栈举行配对

  1. git remote add origin git@github.com:biluko/RegionCLIP_petrained_ckpt.git
复制代码

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

  1. git pull --rebase origin master
复制代码

git pull --rebase origin master
是一个 Git 命令,用于从远程堆栈(通常是命名为 origin)拉取最新的提交,并通过变基(rebase)方式将本地的提交应用到更新后的远程分支上。
该命令的作用如下:
利用 git pull --rebase origin master
命令的上风在于可以大概在提交历史中保持一条干净的线性历史。相比利用普通的 git pull 命令(默认利用归并方式),利用变基可以避免创建额外的归并提交,使得提交历史更加整齐。
然而,需要留意的是,当多个人同时在同一分支上工作时,利用变基操作可能会导致冲突。在举行变基操作前,请确保你的本地分支没有与远程分支冲突的提交,大概在变基后办理任何可能的冲突。
综上所述,git pull --rebase origin master
的作用是拉取远程分支的最新提交,并利用变基方式将本地提交应用到更新后的远程分支上。这有助于保持提交历史的整齐性。
2.9 正式上传

  1. git push -u origin master
复制代码

  1. git push origin master
复制代码

上传成功!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4