Tan Shuai

Migrar um repositório GitHub LFS (Git Large File Storage) para o AWS CodeCommit

Desenvolvimento de Software

Recentemente migrei um dos meus repositórios do GitHub, que usa o Git Large File Storage (LFS), para o AWS CodeCommit. Pensei em compartilhar o processo com você caso esteja procurando fazer algo semelhante. Aqui está um guia passo a passo baseado na minha experiência.

Pré-requisitos

Antes de começarmos, certifique-se de ter essas ferramentas instaladas:

  • Git
  • Git LFS
  • AWS CLI

Guia Passo a Passo

1. Clone o Repositório

Primeiro, clone seu repositório do GitHub usando a opção --mirror. Isso cria um clone bare do repositório, incluindo todos os branches e tags.

git clone --mirror https://github.com/tanshuai/designs.git designs

2. Verifique os Arquivos LFS

Em seguida, liste todos os arquivos gerenciados pelo Git LFS para garantir que tudo esteja no lugar.

git lfs ls-files

Você deverá ver algo assim:

cadfa0bc9e * Brochure-Trifold-Draft.ai
af9b8b8a1c * Brochure-Trifold-English.ai
27bb5f4e61 * Brochure-Trifold.ai

3. Migre os Arquivos LFS

Agora, exporte os arquivos LFS. Este passo garante que eles façam parte do histórico do seu repositório.

git lfs migrate export --include="*.ai" --everything

Você verá algumas mensagens de progresso como estas:

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. Limpeza do LFS

Remova as informações de rastreamento do Git LFS e desinstale o Git LFS.

git lfs ls-files
git rm .gitattributes -f
git lfs uninstall

5. Faça Push para o AWS CodeCommit

Finalmente, faça push do seu repositório para o AWS CodeCommit.

git push https://git-codecommit.us-east-2.amazonaws.com/v1/repos/designs --all

Isso é tudo! Seguindo esses passos, consegui migrar meu repositório GitHub LFS para o AWS CodeCommit. Os arquivos grandes e o histórico do repositório foram preservados perfeitamente.

Conclusão

Migrar um repositório do GitHub que usa o Git LFS para o AWS CodeCommit é bem simples se você seguir os passos corretos. Se tiver alguma dúvida ou encontrar problemas, a documentação do AWS CodeCommit e a documentação do Git LFS são ótimos recursos.

Espero que você ache este guia útil. Feliz codificação!