Git – Manipulando repositórios e diretorios

Hoje venho trazer uma dica que achei muito interessante do git, após atender a necessidade que precisava em uma ferramenta onde iria acessar repositórios Git em diferentes diretórios locais, onde olhando no man git solucionou o problema.

Vamos ao problema e a solução…

Tenho N repositórios, no exemplo irei utilizar /tmp/repo1 e /tmp/repo2 para ilustrar, e preciso obter informações sobre estes repositórios como branch, logs e outras informações, inicialmente pensei em acessar cada diretório com ‘cd’ e realizar os comandos do Git, mas conseguimos isso com os parâmetros –git-dir, –work-tree ou -C e ainda duas variáveis ambientes que podem auxiliar GIT_DIR e GIT_WORK_TREE.

Método 1

Utilizando os parâmetros –git-dir e –work-tree.

Sem grande mistério, –git-dir aponto para o diretório do repositório git (.git) e –work-tree para o diretório de trabalho, no caso, onde estão os arquivos a serem versionados.

Método 2

Utilizando o parâmetros -C para substituir –git-dir e –work-dir.

Sim, muito mais pratico utilizar -C, mas apenas se o repositório e os arquivos estão no mesmo diretório, há casos onde o repositório (.git) esta em outro local ae o uso do –git-dir e –work-dir faz mais sentido.

Método 3

Neste ultimo recurso, iremos ver a mesma função utilizando variáveis ambientes do Git, são elas GIT_DIR e GIT_WORK_TREE.

Foi uma dica curta hoje, mas que pode ajudar quando se tem que varrer diversos repositorios e obter informações.

Até a próxima!

Share Button

CC BY-NC-SA 4.0 Git – Manipulando repositórios e diretorios by Cleiton Bueno is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.