Implementación de git de un solo file en el server

Estoy usando Capistrano para la implementación de la aplicación de Rails; ¿Cómo se puede actualizar un file en el server sin hacer una nueva versión?

Por ejemplo :

Supongamos que realizo cambios solamente en UserController.rb. y lo comprometí con el server de git, ¿cómo debería get esta actualización en el server sin realizar una nueva implementación?

Capistrano tiene una tarea de implementación para actualizar files individuales donde no es necesaria una implementación completa.

 cap -e deploy:upload 

En tu caso, probablemente sería así:

 cap deploy:upload FILES='app/controllers/UserController.rb' 

Es posible que también deba reiniciar su aplicación

 cap deploy:restart 

Deberías hacer un nuevo lanzamiento a través de Capistrano.

El propósito de una herramienta de implementación es brindarle resultados repetibles y ayudarlo a realizar un seguimiento de lo que ha implementado. Evitar este process para una solución pequeña significa que perderá ambas ventajas. Si crees que ejecutar todo el process de implementación para un cambio simple es excesivo, entonces probablemente deberías trabajar en la racionalización del process (o en asegurarte de que nunca tendrás que realizar una solución simple, ¡buena suerte con eso!).

Pragmáticamente, estoy seguro de que mucha gente simplemente edita el file manualmente en el server. No recomendado, por las razones indicadas anteriormente. Si crees que la compensación vale la pena, esa es tu llamada :).

Como descargo de responsabilidad: no soy un desarrollador de Ruby y nunca he usado Capistrano, mi consejo es genérico en lugar de específico para esas tecnologías. Tal vez haya una forma especial de impulsar pequeños cambios a través del sistema; de ser así, habría esperado una respuesta que lo señalara …

Implementar el cap deploy:upload tarea cap deploy:upload ya no existe en Capistrano 3.
Puede agregar esta joya https://github.com/Reiknistofa/capistrano-upload para recuperarla.