Tan Shuai

将 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 文档是很好的资源。

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