Atualmente meu site (servidor de produção) já tem muitos códigos nele. E agora eu quero começar a usar Git para meus projetos e configurar um servidor de teste para minha equipe. Alguém pode me dar algum conselho?
Aqui está a imagem em minha mente:
Production - Production server which already have codes
↑
Staging - New staging server, will install Trac too
↗↙ ↖↘
Developer1 Developer2 - Local development
Minha pergunta é: como devo começar?
Aqui estão alguns passos em minha mente:
- fazer um
git init
servidor em produção (isso é seguro?) clone
o repo da produção para o servidor de teste- desenvolvedores,
clone
o repo da preparação para a máquina local push
arquivos para o servidor de teste após terminar de alterar- quando a encenação está pronta,
push
tudo para a produção
Esse fluxo de trabalho faz sentido ou há alguma maneira melhor de fazer isso?
E se eu quiser alterar apenas um arquivo?
A origem / mestre tem algo a ver com isso neste processo? Quem é a origem? vou acabar tendo múltiplas origens ??
Além disso, quando um desenvolvedor deve usar branch
neste caso?
Sua sugestão parece boa, mas eu não deixaria os desenvolvedores enviarem diretamente para o servidor de teste. Em vez disso, um integrador deve revisar cuidadosamente os branches e incorporá-los ao branch principal (ou branch de desenvolvimento, se você usar o modelo de fluxo git sugerido por bUg.) * A mesma pessoa enviaria para o servidor de teste.
* Integrador : " Uma pessoa bastante central que atua como integrador em um projeto de grupo recebe as alterações feitas por outros, revisa e integra-as e publica o resultado para que outros usem ... "
1. faça um git init no servidor de produção (isso é seguro?)
Sim, é seguro, mas é claro que você deve definir permissões muito restritivas neste repo. Eu provavelmente começaria transferindo
curl
todo o site para um disco local, se ainda não o tiver.2. clonar o repo da produção para o servidor de teste
Você provavelmente deve ter um repositório "central" separado dos servidores de produção e de teste. Esse pode ser clonado e empurrado conforme necessário.
3. os desenvolvedores clonam o repo do teste para sua máquina local
4. Envie os arquivos para o servidor de teste após terminar de alterar
5. quando o teste estiver pronto, envie tudo para a produção
Substitua "staging" por "central" e acho que você está bem, mas um problema maior é como você trabalhará com branches e mesclagens, como bUg aponta.
fonte
RedirectMatch 404 /\.git
à sua produção .htaccess para proteger seus .gitignore , .gitattributes e .git pasta.