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 LFS,你可以上传和管理大文件,而不受 GitHub 文件大小限制的影响。
利用外部存储服务:如果你的文件非常大,超过了 Git LFS 的限制,你可以考虑利用外部存储服务,如云存储服务(如 Amazon S3、Google Cloud Storage)或文件传输服务(如 Dropbox)。你可以将文件上传到外部存储服务,然后在 GitHub 堆栈中添加一个指向外部存储位置的链接或引用。
我们这里采用Git LFS扩展工具。
Git LFS(Large File Storage)是一个 Git 扩展工具,用于管理大文件。它通过将大文件存储在 Git 堆栈之外,并在堆栈中保留文件的引用,来办理 Git 对大文件的处理服从和限制问题。
以下是关于 Git LFS 的一些重要概念和利用方法:
安装 Git LFS:首先,你需要在本地系统上安装 Git LFS。可以从 Git LFS 官方网站(https://git-lfs.github.com/)下载得当你操作系统的安装步伐,并按照说明举行安装。
初始化 Git LFS:在你的 Git 堆栈中,利用以下命令来初始化 Git LFS:
git lfs install
复制代码
这将在当前堆栈中启用 Git LFS。
跟踪大文件:利用以下命令告诉 Git LFS 跟踪特定文件类型的大文件:
git lfs track "*.ext"
复制代码
将 *.ext 更换为你要跟踪的文件类型的模式,比方 *.mp4 或 *.zip。Git LFS 将会为匹配的文件类型启用跟踪。
添加和提交大文件:利用常规的 Git 命令 git add 和 git commit 将大文件添加到 Git LFS 管理中。比方:
git add large_file.ext
git commit -m "Add large file using Git LFS"
复制代码
这将将大文件添加到 Git LFS 管理,并创建一个包罗大文件引用的提交。
推送和拉取大文件:利用常规的 git push 和 git pull 命令来推送和拉取包罗大文件的提交。Git LFS 会自动处理大文件的上传和下载。
通过利用 Git LFS,你可以更有用地管理大文件,并避免 Git 对大文件的限制和性能问题。请留意,你需要确保你的 Git 服务器和其他协作者也已精确配置和支持 Git LFS,以便顺利共享和协作处理大文件。
二、本身的实际操作流程
首先看一下我要上传的文件:
我有一个pretrained_ckpt的文件夹,里面有四个文件夹,每一个文件夹里面都有好多个pth大文件,我该怎样上传到我的github远程堆栈上呢?
下面是我的一个详细的步骤:
2.1 预备工作
在电脑中自选目次新建一个文件夹(例:F:\git文件夹\pretrained_ckpt);
在GitHub上新建一个堆栈(Repositories),GitHub有官方教程;
打开Git Bash,进入刚刚新建的文件夹:
cd /f/git文件夹
复制代码
2.2 初始化堆栈
git init
复制代码
git init
是一个 Git 命令,用于在当前目次中初始化一个新的 Git 堆栈。通过运行该命令,Git 会在当前目次下创建一个隐藏的 .git 文件夹,用于存储堆栈的相关信息和版本控制的历史记录。
如果命令执行成功,你将看到一个类似于以下内容的输出:
Initialized empty Git repository in /path/to/your/repository/.git/
复制代码
请留意,Git 堆栈中的 .git 文件夹是隐藏的,因此在文件欣赏器中可能看不到它。你可以利用命令行或文件欣赏器的显示隐藏文件选项来查看它。
2.3 安装git lfs(一个堆栈里面执行一次就好了)
git lfs install
复制代码
git lfs install
是 Git LFS(Large File Storage)的命令之一,用于在本地系统中安装 Git LFS 扩展。
下面是利用 git lfs install
安装 Git LFS 的步骤:
确保你已经在本地系统中安装了 Git。你可以在命令行终端中运行以下命令来验证是否安装了 Git:
git --version
复制代码
如果已安装 Git,将显示 Git 的版本信息。如果未安装 Git,请按照适用于你操作系统的说明举行安装。
打开命令行终端,并进入要利用 Git LFS 的目次。
运行以下命令:
git lfs install
复制代码
这将下载和安装 Git LFS 扩展,并将其配置为与 Git 一起利用。
如果安装成功,你将看到类似以下输出:
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 会相应地处理这些大文件,确保它们被精确地上传和下载。
2.5 添加.gitattributes
.gitattributes 是 Git 的一个配置文件,用于指定特定文件或文件类型的属性和处理方式。它可以用于定义 Git 在处理文件时的举动,比方在版本控制、归并和检出文件时的属性设置。
.gitattributes 文件的作用包括:
文件属性设置:你可以利用 .gitattributes 文件指定特定文件或文件类型的属性。比方,你可以定义某个文件应被视为二进制文件,大概利用 Git LFS 举行管理。
文本处理:.gitattributes 文件可以用于指定文本文件的行尾格式(如 CRLF 或 LF),这对于跨平台协作很有用。你可以设置文件的 text 或 binary 属性,控制 Git 是否将其视为文本文件。
归并策略:通过 .gitattributes 文件,你可以为不同类型的文件指定归并策略,以决定在归并分支时怎样处理这些文件的冲突。
过滤和清理:.gitattributes 文件允许你配置 Git 过滤器,以在提交或检出文件时执行自定义的过滤和清理操作。这对于对文件举行自动处理、格式转换或敏感信息过滤很有用。
.gitattributes 文件的语法是基于模式匹配的,你可以利用通配符、正则表达式和文件路径模式来匹配文件,并为其指定相应的属性和操作。
请留意,.gitattributes 文件需要添加到 Git 堆栈,并确保其他协作者在克隆或拉取堆栈时可以大概精确应用这些属性规则。
在命令行终端中,利用 Git 命令将 .gitattributes 文件添加到堆栈并提交:
git add .
gitattributes
复制代码
2.6 添加要上传(push)的文件并提交(commit)
git add .
复制代码
git commit -m "RegionCLIP_pretrained_ckpt"
复制代码
2.7 将本地与新建堆栈举行配对
git remote add origin git@github.com:biluko/RegionCLIP_petrained_ckpt.git
复制代码
2.8 让上传看起来更一连,而不是多出很多无用的merge commit
git pull --rebase origin master
复制代码
git pull --rebase origin master
是一个 Git 命令,用于从远程堆栈(通常是命名为 origin)拉取最新的提交,并通过变基(rebase)方式将本地的提交应用到更新后的远程分支上。
该命令的作用如下:
从远程堆栈(origin)拉取最新的提交:git pull 首先会执行 git fetch,将远程堆栈的最新提交下载到本地的远程跟踪分支(比方 origin/master)。
变基(rebase)本地提交:–rebase 参数告诉 Git 在将本地的提交应用到更新后的远程分支之前,先执行变基操作。变基会将当前分支的提交“重新播放”在远程分支的最新提交之上。
应用本地提交:在变基操作完成后,Git 会将本地的提交逐个应用到更新后的远程分支上。
利用 git pull --rebase origin master
命令的上风在于可以大概在提交历史中保持一条干净的线性历史。相比利用普通的 git pull 命令(默认利用归并方式),利用变基可以避免创建额外的归并提交,使得提交历史更加整齐。
然而,需要留意的是,当多个人同时在同一分支上工作时,利用变基操作可能会导致冲突。在举行变基操作前,请确保你的本地分支没有与远程分支冲突的提交,大概在变基后办理任何可能的冲突。
综上所述,git pull --rebase origin master
的作用是拉取远程分支的最新提交,并利用变基方式将本地提交应用到更新后的远程分支上。这有助于保持提交历史的整齐性。
2.9 正式上传
git push -u origin master
复制代码
git push origin master
复制代码
上传成功!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4