处理敏感数据(Git LFS)
了解 Git LFS(大文件存储),用于管理大文件,并防止敏感数据被直接提交。
处理敏感数据(Git LFS) 是 CoddyKit 上的免费 DevOps Bootcamp 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 DevOps Bootcamp 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 DevOps Bootcamp 课程共包含 4 节课。
Git 与大文件问题
您是否曾经将一个超大的文件提交到 Git?比如大图片、视频或大型数据集?
Git 专为基于文本的代码而设计,这类代码的改动通常很小。当您添加大型二进制文件时,仓库会迅速膨胀,导致克隆和各种操作变慢。如果不小心处理,敏感数据也可能造成同样的问题。
大型文件为何会使仓库膨胀
Git 会在历史记录中保存每个文件的每个版本。对于文本文件,Git 会高效地保存差异(增量)。
但是,对于大型二进制文件(例如 50MB 的 Photoshop 文件或编译后的可执行文件),即使只有极小的改动,Git 也会保存一个全新的 50MB 文件。久而久之,您的仓库会变得庞大且缓慢。
Git LFS 简介
为了解决这个问题,Git 引入了Git 大文件存储(LFS)。LFS 是 Git 的开源扩展,能够更高效地处理大型文件。
它会将 Git 仓库中的大型文件替换为很小的“指针”文件,而实际的大型文件则存储在远程 LFS 服务器上。
Git LFS 的工作原理
当您提交由 LFS 跟踪的文件时:
- Git 会提交一个很小的指针文件(其中包含指向大型文件的引用的文本文件)。
- 实际的大型文件会上传到 Git LFS 服务器(通常由 GitHub、GitLab 或 Bitbucket 托管)。
当有人克隆或拉取时,Git 会下载指针,然后由 LFS 获取实际文件。
安装 Git LFS
使用 LFS 前,您需要先安装它。如果您使用 macOS 或 Windows,通常可以通过软件包管理器(例如 Homebrew)或专用安装程序进行安装。
安装完成后,您需要每个系统运行一次 git lfs install,以设置 LFS 钩子。
git lfs install使用 LFS 跟踪文件
安装 LFS 后,您可以使用 git lfs track 告诉 Git 要跟踪哪些文件类型。此命令会向您的 .gitattributes 文件添加一条记录。
例如,要跟踪所有 .psd(Photoshop)文件:
git lfs track "*.psd"提交由 LFS 跟踪的文件
运行 git lfs track 后,请确保提交 .gitattributes 文件本身。然后,像平常一样添加并提交大型文件。
现在,对于 .psd 文件,Git 会在您的仓库中存储较小的指针文件。
git add .gitattributes
git add my_large_image.psd
git commit -m "Add large PSD file with LFS"推送 LFS 文件
当您将更改推送到远程仓库时,Git LFS 会自动处理大型文件。它会将实际的大型文件上传到与远程仓库关联的 LFS 服务器。
整个过程非常顺畅,就像执行普通的 git push 一样。
git push origin main查看 LFS 状态
您可以在仓库中使用 git lfs ls-files 命令查看当前由 Git LFS 跟踪的文件。
这有助于确认您的大型文件已由 LFS 正确管理。
git lfs ls-files检查 LFS 的优势
使用 Git LFS 的主要优势是什么?
回顾:Git LFS 的强大功能
您已经了解了 Git LFS 如何帮助管理仓库中的大型文件。通过在 Git 中存储指针、在 LFS 服务器上存储实际文件,它可以防止仓库膨胀并提升性能。
请记住,始终对大型二进制文件使用 git lfs track,并提交 .gitattributes 文件。
常见问题解答
「处理敏感数据(Git LFS)」课时是免费的吗?
是的 — 「处理敏感数据(Git LFS)」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 DevOps Bootcamp 课程的其余内容,请升级到 CoddyKit PRO。 DevOps Bootcamp 课程共包含 4 节课。
「处理敏感数据(Git LFS)」这节课中我会学到什么?
了解 Git LFS(大文件存储),用于管理大文件,并防止敏感数据被直接提交。 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 DevOps Bootcamp 需要有经验吗?
无需任何先前经验。CoddyKit 上的 DevOps Bootcamp 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「处理敏感数据(Git LFS)」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 DevOps Bootcamp 课中编写并运行代码吗?
能。每节 DevOps Bootcamp 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 保护您的 Git 工作流
- 处理敏感数据(Git LFS)
- 提交信息最佳实践
- 使用 GPG 签署提交与标签