Heroku tiene una política de ignorar todas las ramas, excepto "maestro".
Si bien estoy seguro de que los diseñadores de Heroku tienen excelentes razones para esta política (supongo que el almacenamiento y la optimización del rendimiento), la consecuencia para mí como desarrollador es que, sea cual sea la rama de tema local en la que esté trabajando, me gustaría una manera fácil para cambiar el maestro de Heroku a esa rama de tema local y hacer un "git push heroku -f" para sobrescribir el maestro en Heroku.
Lo que obtuve al leer la sección "Pushing Refspecs" de http://progit.org/book/ch9-5.html es
git push -f heroku rama-tema-local: referencias / cabezas / maestro
Lo que realmente me gustaría es una forma de configurar esto en el archivo de configuración para que "git push heroku" siempre haga lo anterior, reemplazando local-topic-branch con el nombre de lo que sea mi rama actual. Si alguien sabe cómo lograrlo, ¡hágamelo saber!
La advertencia para esto, por supuesto, es que esto solo es sensato si soy el único que puede acceder a esa aplicación / repositorio de Heroku. Un equipo de prueba o de control de calidad puede administrar dicho repositorio para probar diferentes ramas candidatas, pero tendrían que coordinarse para que todos estén de acuerdo en qué rama están presionando en un día determinado.
Huelga decir que también sería una muy buena idea tener un repositorio remoto separado (como GitHub) sin esta restricción para hacer una copia de seguridad de todo. Llamaría a ese "origen" y usaría "heroku" para Heroku para que "git push" siempre respalde todo al origen, y "git push heroku" empuje cualquier rama en la que estoy actualmente a la rama maestra de Heroku, sobrescribiéndola si necesario.
¿Funcionaría esto?
[remoto "heroku"] url = git@heroku.com: my-app.git push = + refs / heads / *: refs / heads / master
Me gustaría saber de alguien más experimentado antes de comenzar a experimentar, aunque supongo que podría crear una aplicación ficticia en Heroku y experimentar con eso.
En cuanto a la búsqueda, no me importa si el repositorio de Heroku es de solo escritura. Todavía tengo un repositorio separado, como GitHub, para realizar copias de seguridad y clonar todo mi trabajo.
Nota al pie: ¿Esta pregunta es similar, pero no exactamente igual a la implementación de Good Git usando la estrategia de sucursales con Heroku?