Como usar o git com vários repositórios remotos
O
git pode ser configurado para enviar e receber a partir de vários locais ao mesmo tempo, permitindo armazenar seu código em duas plataformas diferentes, mantendo apenas uma cópia local. Veja como configurá-lo.
Controle remoto explicado
O “ remoto ” para uma ramificação é um URL a partir do qual o seu repositório git local busca as alterações. Seu repositório git local é inteiramente seu, não é afetado pelo código de outras pessoas até que eles enviem seus commits para o controle remoto. Felizmente, você está usando o mesmo controle remoto e tudo é sincronizado, mas o controle remoto é apenas um ponto de extremidade. Você pode clonar esse ponto de extremidade e alternar para um novo controle remoto sem muito problema.
Sempre que você clona um novo repositório, o controle remoto padrão é definido como “ origem. ” Você pode encontrar os controles remotos para qualquer repositório Git, executando:
git remote -v
Isso provavelmente exibirá a URL do seu repositório principal no GitHub ou em qualquer serviço que você esteja usando. Se você tiver vários controles remotos, eles também aparecerão aqui.
Mas apenas porque a origem é o controle remoto padrão, isso não significa que você está limitado a um. Por que você quer dois controles remotos? Bem, um bom caso de uso é o CodeCommit da AWS. É um repositório git hospedado e possui muitas integrações com sua plataforma de computação EC2, permitindo implantações automatizadas de código em seus servidores, diretamente do controle de origem.
No entanto, o CodeCommit é bastante desajeitado em comparação com provedores de git mais focados, como GitHub, GitLab e BitBucket, e não tem as mesmas integrações de CI / CD que tornam esses provedores excelentes. Então, você está preso a um dilema: use o CodeCommit como sua solução git padrão ou construa você mesmo seu pipeline de implantação de código automatizado.
No entanto, com vários controles remotos, você pode facilmente enviar o código para um segundo repositório. Sempre que quiser atualizar seus servidores, você pode enviar as alterações do seu controle de fonte principal para o CodeCommit para iniciar o pipeline de implantação.
Configurando vários controles remotos
Usar o git dessa maneira é realmente bastante simples. Você adiciona controles remotos da mesma maneira que enviaria uma pasta existente, exceto em vez de adicionar a “ origem ” remoto, você atribui um nome diferente.
git remote add < nome > < url >
Em seguida, quando desejar enviar por push para o segundo controle remoto, adicione o nome e ramificação do controle remoto ao seu comando de envio:
git push segundo mestre
Ou alterne o controle remoto padrão usando --set-upstream:
git push --set-upstream segundo mestre
Essa é a configuração mais simples; no entanto, você deve passar o nome do controle remoto como argumento ou alternar o controle remoto todas as vezes.
Realmente, se você estiver usando uma configuração de dois controles remotos, provavelmente desejará uma maneira melhor de gerenciar o envio de código para o seu segundo controle remoto. A melhor maneira de lidar com isso no git é criar outra ramificação para o código enviado para o segundo upstream, como implantações no AWS CodeCommit.
Você pode criar uma ramificação com o checkout -b:
git checkout -b deployment
Em seguida, adicione o remoto da implantação:
git remote add deploy < url >
e busque o ramo principal:
mestre de implantação do git fetch
Em seguida, você pode definir o upstream da ramificação atual executando:
ramificação git --set-upstream-to = implantação / mestre
Você pode repetir esse processo para qualquer número de ramificações, tornando-o um ótimo método para acompanhar vários controles remotos. Lembre-se, porém, de que essa é apenas uma configuração local; portanto, se você enviar esta ramificação para o repositório principal, outras pessoas não terão suas cópias da ramificação de implantação configuradas para usar o segundo controle remoto automaticamente.
Seria ideal se o segundo ramo fosse apenas de uma maneira, ou seja, você está apenas pressionando o código, não puxando o novo código; caso contrário, poderá ocorrer conflitos inesperados. Fora isso, o git funciona perfeitamente com vários controles remotos.
Via: How to Geek
Nenhum comentário