Como enviar as mudanças de um servidor web de implementação ao vivo de volta para o repositório git

2

Estou trabalhando em um ambiente em que os desenvolvedores trabalham diretamente com arquivos de script e imagem no servidor da Web de implementação ativa. Isso é assustador e causou alguns problemas, embora surpreendentemente poucos. O controle de origem não é usado para essas mudanças, as alterações são feitas no servidor ativo e apenas no servidor ativo. Não sei como fazer com que as alterações que outros desenvolvedores fizeram no servidor da web ao vivo sejam mantidas / mescladas quando eu implantar minhas alterações no servidor da web ao vivo. Esse problema parece piorar o uso do controle de origem, em vez de melhorar.

Eu pessoalmente configurei git e svn servers, e usei o controle de versão com git e svn nos últimos anos em muitos projetos de aplicativos de desktop e aplicativos móveis. Mas isso me deixou perplexo.

    
por timeSmith 03.09.2014 / 15:46

1 resposta

1

A melhor prática é usar o git como parte de como você implanta. Tanto que você encontrará relativamente poucas respostas sobre outros usos do git.

Dito isso, o git pode ser usado de várias maneiras. Se a sua implementação é para o servidor live, e não do git, então ainda há valor em confirmar as alterações no git, para que você possa pelo menos ver o que mudou quando e reverter as coisas. O que você vai perder é comentários sensatos e agrupamento de mudanças em commits para que você possa ver onde você deseja reverter rapidamente, e você pode ver quais mudanças em arquivos diferentes são dependentes umas das outras.

É perfeitamente possível permitir que o seu código ao vivo seja um diretório de trabalho git, e você pode ter atualizações automáticas do repositório que estão sendo executadas de tempos em tempos a partir do cron.

O

etckeeper ( link ) é, de certa forma, comparável. Ele foi projetado para registrar alterações no diretório / etc de um servidor, em oposição a um site, mas é bastante semelhante ao que você tem em mente. Ele provavelmente terá algumas idéias úteis embutidas nos commit hooks e afins, mas também é complicado ao cobrir vários sistemas VCS diferentes e à compatibilidade com vários sistemas operacionais.

    
por 05.09.2014 / 13:55