La mejor forma de combinar los cambios de Git en SSH

Tengo la sensación de que estoy haciendo esto de la manera incorrecta.

Tengo un proyecto de software con 3 desarrolladores trabajando en su propio Repo GIT haciendo cambios frecuentes. Están impulsando sus cambios en el server, donde luego fusiono los cambios y los publico en el software web en vivo.

He intentado encontrar una solución que pueda usar fácilmente para resolver conflictos cuando fusiono código (generalmente hay un montón de conflictos con cada fusión). Mi experiencia ha sido que VIM solo es terriblemente lento en esto, pero he encontrado un progtwig llamado Splice: http://sjl.bitbucket.org/splice.vim/ Que estoy tratando de entenderlo. Sin embargo, parece que incluso este progtwig te lo dice en la página de inicio:

"Splice es una herramienta de combinación, lo que significa que trabajará con ella en su máquina de desarrollo, no a través de SSH en sus serveres".

¿Es tan importante hacer fusiones en un server de producción a través de SSH? Parece que es un dolor mucho más grande agarrar todo el código que está en el server, download, fusionar y volver a upload cada vez que tengo que fusionar el código.

Soy nuevo en esto, pero siento que me estoy perdiendo algo. ¿Hay una mejor manera de hacerlo?

Todos los consejos son bienvenidos 🙂

Lo que pasa es que no debes ejecutar commands git en tu server (aparte de la configuration del server del repository barebone por supuesto). Deberías hacer todo tu git commit en tu máquina de desarrollo (que puede ser una máquina remota conectada a través de SSH, ¿es eso lo que realmente quieres decir?) Y luego git pull && git push para actualizar el repository del server.