Qual é a melhor prática para lidar com informações específicas do sistema sob controle de versão?

Eu sou novo no controle de versão, então peço desculpas se existe uma solução conhecida para isso. Para esse problema em particular, estou usando o git, mas estou curioso sobre como lidar com isso para todos os sistemas de controle de versão.

Estou desenvolvendo um aplicativo Web em um servidor de desenvolvimento. Eu defini o nome absoluto do caminho para o aplicativo Web (não a raiz do documento) em dois lugares. No servidor de produção, esse caminho é diferente. Estou confuso sobre como lidar com isso.

Eu poderia:

Reconfigure o servidor de desenvolvimento para compartilhar o mesmo caminho que a produçãoEdite as duas ocorrências sempre que a produção for atualizada.

Não gosto do número 1 porque prefiro manter o aplicativo flexível para alterações futuras. Não gosto do número 2 porque, se eu começar a desenvolver em um segundo servidor de desenvolvimento com um terceiro caminho, teria que mudar isso para cada confirmação e atualização.

Qual a melhor forma de lidar com isto? Eu pensei sobre:

Usando palavras-chave personalizadas e expansão variável (como definir a propriedade $ PATH $ nas propriedades de controle de versão e expandi-la em todos os arquivos). O Git não suporta isso porque seria um enorme impacto no desempenho.

Usando ganchos pós-atualização e pré-confirmação. Possivelmente a solução provável para o git, mas toda vez que eu olhava para o status, ele relatava os dois arquivos como sendo alterados. Não é realmente limpo.

Puxando o caminho de um arquivo de configuração fora do controle de versão. Então eu teria que ter o arquivo de configuração no mesmo local em todos os servidores. Pode ter apenas o mesmo caminho para começar.

Existe uma maneira fácil de lidar com isso? Estou pensando demais?

questionAnswers(6)

yourAnswerToTheQuestion