Tan Shuai

Миграция репозитория GitHub LFS (Git Large File Storage) в AWS CodeCommit

Разработка программного обеспечения

Недавно я перенёс один из своих репозиториев на 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 являются отличными ресурсами.

Надеюсь, этот гид будет вам полезен. Удачного программирования!