Миграция репозитория GitHub LFS (Git Large File Storage) в AWS CodeCommit
- Тань Шуай
- Разработка программного обеспечения
- 09 Feb, 2022
Недавно я перенёс один из своих репозиториев на GitHub, который использует Git Large File Storage (LFS), на AWS CodeCommit. Решил поделиться процессом с вами, если вы планируете сделать что-то подобное. Вот пошаговое руководство, основанное на моем опыте.
Требования
Прежде чем мы начнем, убедитесь, что у вас установлены следующие инструменты:
- Git
- Git LFS
- AWS CLI
Пошаговое руководство
1. Клонирование репозитория
Сначала клонируйте ваш репозиторий на GitHub с использованием опции --mirror
. Это создаст зеркальную копию репозитория, включая все ветки и теги.
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. Большие файлы и история репозитория были сохранены идеально.
Завершение
Миграция репозитория GitHub, который использует Git LFS, на AWS CodeCommit довольно проста, если следовать правильным шагам. Если у вас есть вопросы или возникнут проблемы, документация AWS CodeCommit и документация Git LFS являются отличными ресурсами.
Надеюсь, этот гид будет вам полезен. Удачного программирования!