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 文檔都是很好的資源。

希望這個指南對您有所幫助。祝編程愉快!