¿Puede Heroku funcionar como control de versión?

Estoy trabajando con este proyecto esqueuer (webapp en RoR) en un grupo de 10 y nos metemos en esta pelea.

Uno dice que deberíamos usar Heroku como nuestro server web porque tiene control de versiones con git. El otro dice que es genial usar Heroku como server web, pero no almacena el código anterior y realiza un seguimiento de los cambios, por lo que deberíamos configurar nuestro propio github / assembla-git.

¿Quién tiene la razón?

Heroku usa git para implementar. Entonces puedes usarlo como control de versión también.

Pero no lo recomendaría. Cuando presionas para heroku, significa desplegar en producción. Pero su código puede no estar listo para eso. Aún no se ha probado, la function no está completamente implementada, etc.

Puede agregar 2 controles remotos para su repository.

git push origin master # github git push heroku master 

Así que te recomendaría que uses heroku como webhost y github como control de versiones

No hay nada de malo en utilizar Heroku como su repository principal de Git. Tengo docenas de proyectos que están configurados de esta manera.

Heroku definitivamente no va a eliminar arbitrariamente el código o los commits en su repository.

Por supuesto, todo lo que empujes a la twig master se desplegará realmente, pero puedes empujar otras twigs si quieres (Heroku simplemente las ignorará).

La ventaja de usar GitHub además de Heroku es que obtienes un montón de funcionalidades adicionales además del repository simple de Git, como una interfaz de usuario basada en la web y herramientas de queueboración como requestes de extracción, etc. Ten en count que GitHub para uso privado repositorys es un service pago, sin embargo. También hay competidores de GitHub como Bitbucket que ofrece repositorys privados gratis para equipos pequeños.

Pero si ya estás familiarizado con Git y no sientes que necesites ninguna funcionalidad adicional además de eso, es mejor que te vayas con Heroku. También hay algo que decir por simplicidad.