/ / Como manter o repositório remoto (Github, Bitbucket) atualizado com o servidor em execução - git, bitbucket

Como manter o repositório remoto (Github, Bitbucket) atualizado com o servidor em execução - git, bitbucket

Eu sou bem novo nesta área (nunca usei o git antes), mas eu já passei por muitos tutoriais e não encontrei a resposta para minha pergunta. É bastante auto-explicativo, mas vou acrescentar um exemplo.

Vamos dizer que nós (uma equipe de desenvolvedores) temos um servidor, example.comem pleno funcionamento. Se quisermos fazer mudanças, temos que fazê-las localmente, então todos nós temos uma cópia do repositório em nossas máquinas locais. Mas há também uma cópia do repositório no servidor BitBucket.

Aqui vem o problema: Quando eu implementar um novo recurso (adicionar, confirmar, mesclar etc.) localmente, eu quero empurrá-lo para o ramo mestre global. Mas qual deve ser a origem? Aquele no servidor ou aquele no BitBucket? Todos os tutoriais do BitBucket me dizem para clonar o repositório de seu servidor (ou fazer o upload dele lá) e executar todas as solicitações de push / pull lá, mas como o servidor em execução permanecerá atualizado com essas mudanças? Eu tenho que puxá-los manualmente do BitBucket?

Outra opção é clonar diretamente de ssh:example.com/var/www/example/, mas como então o BitBucket vai acompanhar as ramificações, os commits etc.?

Ajuda apreciada!

EDIT: Em suma, eu tenho o código no servidor. Quais etapas devo seguir para poder trabalhar em minha máquina local, regularmente enviar alterações para os servidores em execução e fazer uso do BitBucket?

Respostas:

3 para resposta № 1

Eu diria que, para o desenvolvimento normal, os desenvolvedores empurram / puxam apenas do BitBucket. Você só empurra para example.com para lançamentos. A maioria dos fluxos de trabalho apresenta amplo desenvolvimento local, além de um servidor de "operação total" que executa o código de produção.

Você não deve sempre implantar todos os ramospara o servidor; o servidor só pode hospedar a versão de produção do seu código. Portanto, não é possível manter vários ramos atualizados com o servidor. Em vez disso, as ramificações são usadas para rastrear recursos à medida que são desenvolvidos e, finalmente, mesclados com master antes de ser enviado para o servidor.

Quando você estiver pronto para implantar uma nova versão, você vai para o servidor de qualquer máquina. Você pode usar ganchos do lado do servidor para instalar novas alterações no example.com como eles ocorrem.