將 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 文檔都是很好的資源。
希望這個指南對您有所幫助。祝編程愉快!