Conectando repositório local a dois remotos. (Git)

Atualmente, meu controle de versão é feito em dois lugares: Azure DevOps (antigo VisualStudio Online) e GitHub. Se todos os meus projetos pudessem ser compartilhados, eles ficariam no GitHub, mas como não é o caso, deixo todos no Azure e alguns no GitHub.

Por uma questão de conveniência, acabei ligando alguns repositórios locais tanto no Azure quanto no Github. Desta forma, com um push, sincronizo os dois remotos e é isso que mostro neste post.

Para este post, vamos partir do pressuposto de que você já tem um diretório com o código fonte, mas ele não está em um repositório ainda.

 

1. Criando o repositório local!

Sendo assim, a primeira coisa que precisamos fazer é criar um. Para isso, acesse o diretório no prompt e utilize o comando:

git init .

 

Agora o repositório existe, mas não possui arquivos. Vamos adicionar todos. (Não vou utilizar o .gitignore, pois não é o foco do post):

git add .

 

Ok. Repositório foi criado e está com todos os arquivos do diretório. O próximo passo é fazer um commit e persistir tudo:

git commit -m"Initial Commit."

 

 

2. Criando repositórios remotos.

Assim concluímos a primeira parte do tutorial. O próximo passo é criar os dois repositórios remotos.

Considerando que cada serviço de controle de versão (Azure DevOps, GitHub, Bitbutcket, etc) funciona de um jeito, não vou mostrar aqui como cirar o repositório nestes sites ou como pegar as credenciais para acessar via linha de comando. Todavia, utilize a seguinte regra como base na hora de cria-los: crie um repositório vazio. No momento da criação, não adicione nenhum arquivo automaticamente: Nem o .gitignore, nem o arquivo de licença, nada. Adicione tudo depois.

Isso vai facilitar muito a vida.

 

 

3. Ligando repositório local ao primeiro repositório remoto.

git remote add origin https://url.para.seu.repositorio.git

 

O comando acima vai criar um remoto chamado origin e vai aponta-lo para a url que você informar.

Não faz diferença qual repositório remoto você adicionará primeiro, mas este será o repositório remoto de onde o GIT vai puxar (pull) o fonte.

 

4. Adicionando repositórios remotos para push.

git remote set-url origin --push --add https://url_para_repositorio_remoto_1
git remote set-url origin --push --add https://url_para_repositorio_remoto_2

 

Você vai utilizar o comando acima para adicionar todos os repositórios que devem receber o seu fonte, quando o comando push for realizado do local para o origin.

 

5. Faça o push dos dados.

git push origin master

Pronto! Agora é só fazer o upload dos arquivos utilizando o comando push e todos os repositórios remotos que você adicionou no passo 4 irão receber o fonte.

 

 

Vale lembrar que, se os repositórios remotos estiverem em estados diferentes, ou seja, cada um com um grupo de arquivos em estados diferentes, você terá a árdua tarefa de sincroniza-los primeiro.

Uma última observação: Esta integração funciona ‘apenas’ para as versões do GitHub de 2012 para frente. Talvez seja importante para você…

 

Espero ter ajudado!

The following two tabs change content below.
Arquiteto de Software e Desenvolvedor Backend (quase Fullstack), geralmente trabalho com C#, PowerShell, Python, Golang, bash e Unity (esse é mais por hobby). Estou sempre buscando algo novo para aprender, adicionando novas ferramentas ao meu cinto de utilidades.
Posted in Conhecimento Técnico, Dev and tagged , .