Uma dica bem legal, principalmente para quem já lidava com o Subversion como versionador: o git dispõe de uma funcionalidade chamada Git Submodules. Que nada mais são que repositórios dentro de repositórios. Um pouco parecido com o Externals do SVN.
Funcionalidades assim surgiram devido a necessidades de inserir uma biblioteca ou outro projeto em outros projetos. Porem são projetos distintos, e seus desenvolvimentos são totalmente independentes. Esse tipo de problema deve ser encarado com o GitSubmodules e com o proprio git, resolver o problema dessa depêndencia externa.
O Submodule permite que você mantenha o repositório GIT como um subdiretório de outro repositório GIT, isso permite um clone de outro repositório dentro do seu, e permitir commits totalmente separados. Legal não é?
Exemplo de uso: Preciso inserir no meu projeto um repositório com arquivos CSV para importação. Esse repositório vive recebendo updates. Nesse caso você irá apenas consumir esses arquivos CSV ( Comma Separated Values ) para importação local na sua base de dados.
Mão na massa
git submodule add <url-repositorio> diretorio
Exemplo: git submodule add [email protected]:rivendel/csv-imports.git import/csv
No comando acima estamos adicionando um submodule na pasta import/csv.
Temos agora na raiz do nosso projeto um arquivo chamado .gitmodules com as devidas configurações já feitas, e uma pasta em import/csv criada e funcionando como um repositório.
Inicializando o Submodule
git submodule init
O init vai iniciar as configurações necessárias para o trabalho dos SubModules
Atualizando as configurações
git submodule update
cd imports/csv
git pull remote your_branch #git pull origin master por exemplo
Gostou do conteúdo? Tem alguma dúvida? Entre em contato com nossos Especialistas Mandic Cloud, ficamos felizes em ajudá-lo.