Entre o seu código de desenvolvimento local e o código que você executa no servidor remoto (teste ou produção), sempre há alguma diferença, se houver, o host do banco de dados etc.
Minha solução é manter um patch, gerado por exemplo git diff
em um diretório de trabalho “dev state” após uma confirmação de “production state” e, em seguida, entrar e sair do estado dev com
patch -p1 < dev.patch
e
patch -p1 -R < dev.patch
Onde -R
significa reverter, ou seja, desfaz a aplicação do patch.
PS você pode até definir é como um git
gancho .