Type something to search...

将 GitHub LFS(Git 大文件存储)存储库迁移到 AWS CodeCommit

我最近将一个使用 Git Large File Storage (LFS) 的 GitHub 仓库迁移到了 AWS CodeCommit。我想分享这个过程,以防你也有类似的需求。以下是根据我的经验制作的逐步指南。

先决条件

在开始之前,请确保你已经安装了以下工具:

  • Git
  • Git LFS
  • AWS CLI

逐步指南

1. 克隆仓库

首先,使用 --mirror 选项克隆你的 GitHub 仓库。这会创建一个仓库的裸克隆,包括所有分支和标签。

git clone --mirror https://github.com/tanshuai/designs.git designs

2. 验证 LFS 文件

接下来,列出所有由 Git LFS 管理的文件,以确保一切就绪。

git lfs ls-files

你应该会看到类似如下的内容:

cadfa0bc9e * Brochure-Trifold-Draft.ai
af9b8b8a1c * Brochure-Trifold-English.ai
27bb5f4e61 * Brochure-Trifold.ai

3. 迁移 LFS 文件

现在,导出 LFS 文件。这一步确保它们成为你仓库历史的一部分。

git lfs migrate export --include="*.ai" --everything

你会看到一些进度消息,如下所示:

migrate: Sorting commits: ..., done.
migrate: Rewriting commits: 100% (20/20), done.
master 98a3c48d85... -> 82f8873b41...
migrate: Updating refs: ..., done.
migrate: checkout: ..., done.
prune: 3 local object(s), 0 retained, done.
cadfa0bc9e... (133 MB)
27bb5f4e61... (131 MB)
af9b8b8a1c... (130 MB), done.
prune: Deleting objects: 100% (3/3), done.

4. 清理 LFS

删除 Git LFS 跟踪信息并卸载 Git LFS。

git lfs ls-files
git rm .gitattributes -f
git lfs uninstall

5. 推送到 AWS CodeCommit

最后,将你的仓库推送到 AWS CodeCommit。

git push https://git-codecommit.us-east-2.amazonaws.com/v1/repos/designs --all

就是这样!通过遵循这些步骤,我成功地将我的 GitHub LFS 仓库迁移到了 AWS CodeCommit。大文件和仓库历史都得到了完美的保留。

总结

如果你按照正确的步骤操作,将使用 Git LFS 的 GitHub 仓库迁移到 AWS CodeCommit 是相当简单的。如果你有任何问题或遇到问题,AWS CodeCommit 文档Git LFS 文档是很好的资源。

希望本指南对您有所帮助。编码愉快!

分享 :

相关文章

AWS CodeCommit:GitHub 大文件存储 (Git LFS) 的免费替代方案

AWS CodeCommit 提供了一个强大的替代方案来代替 GitHub 的大型文件存储(Git LFS)服务,为在 Git 仓库中管理大文件提供了高效的解决方案。 为什么你应该重新考虑使用 Git LFS 虽然 Git LFS 是处理 Git 仓库中大文件的热门选择,但它有其局限性和挑战。Git LFS 需要额外的设置和管理,这可能会使开发工作流程变得复杂。此外,与 Git LFS

阅读更多

在 macOS 上快速将 Markdown 转换为学术风格的 PDF 论文

在本指南中,我将向您展示如何使用 Pandoc 和 BasicTeX 在 macOS 上将 Markdown 文档转换为学术风格的 PDF 论文。这种方法快速且简单,非常适合需要创建专业外观的学术论文 PDF 文件时使用。 第一步:安装 Pandoc 和 BasicTeX 首先,您需要在 macOS 系统上安装 Pandoc 和 BasicTeX。以下是我的安装步骤:**安

阅读更多

Electron 构建工具 `ERROR Error: Failed to run "choco install pywin32 --yes"`

当使用 Electron Build Tools 时,您可能会遇到通过 Chocolatey 安装 pywin32 相关的错误。这可能会令人沮丧,特别是当它是您项目所需的依赖项时。以下是问题的详细解释和可能的解决步骤。 错误 在使用 Electron Build Tools 初始化一个 Electron 项目时,您可能会看到以下错误信息: E:\\>e init m

阅读更多

获取当前Git提交ID并更新到package.json

在开发 Node.js 项目时,您可能希望跟踪 Git 仓库的当前提交 ID。此信息对于调试、版本控制或部署目的可能很有用。实现这一目标的一种方法是在构建过程中将当前提交 ID 更新到 package.json 文件中。本文将指导您完成获取 Git 当前提交 ID 并使用 Node.js 将其更新到 package.json 文件的步骤。 "predev": "node

阅读更多

重置/恢复 Git 的所有子目录

有效管理Git代码库通常需要重置或恢复子目录,以保持代码库的整洁和功能正常。本指南提供了一个简明的分步方法,用于重置或恢复Git代码库中的所有子目录。 重置子目录 以下Git命令会从代码库中移除所有未跟踪的文件和目录。这在执行重置或恢复之前清理不必要的文件时非常有用。 git clean -xfdf -- .命令分解:-x:移除所有未跟

阅读更多