not fatal everything error does conectar con commands cli appear app git github heroku push git-push

git - fatal - heroku commands



Cómo empujar diferentes sucursales locales de Git a Heroku/maestro (9)

Creo que debería ser

push = refs/heads/*:refs/heads/*

en lugar...

Heroku tiene una política de ignorar todas las ramas, pero ''maestro''.

Aunque estoy seguro de que los diseñadores de Heroku tienen excelentes razones para esta política (supongo que para el almacenamiento y la optimización del rendimiento), la consecuencia para mí como desarrollador es que en cualquier 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 de leer la sección "Presionar Refspecs" de http://progit.org/book/ch9-5.html es

git push -f heroku local-topic-branch:refs/heads/master

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, por favor hágamelo saber!

La advertencia para esto, por supuesto, es que esto solo es sensato si soy el único que puede empujar a esa aplicación / repositorio Heroku. Un equipo de prueba o control de calidad podría administrar dicho repositorio para probar diferentes sucursales candidatas, pero tendrían que coordinarse para que todos estén de acuerdo sobre qué sucursal están presionando en un día determinado.

No hace falta decir que también sería una muy buena idea tener un repositorio remoto separado (como GitHub) sin esta restricción para respaldar todo. Llamaría a ese "origen" y uso "heroku" para Heroku, de modo que "git push" siempre respalde todo al origen, y "git push heroku" empuja cualquier rama en la que esté actualmente en la rama principal de Heroku, sobrescribiéndola si necesario.

¿Funcionaría esto?

[remote "heroku"] url = [email protected]: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 recuperación, realmente no me importa si el repositorio de Heroku es de solo escritura. Todavía tengo un repositorio separado, como GitHub, para la copia de seguridad y la clonación de todo mi trabajo.

Nota al pie: ¿Esta pregunta es similar a, pero no es lo mismo que la implementación de Good Git con la estrategia de sucursales con Heroku?


Deberías revisar heroku_san , resuelve este problema bastante bien.

Por ejemplo, usted podría:

git checkout BRANCH rake qa deploy

También facilita la creación de nuevas instancias de Heroku para implementar una rama temática en nuevos servidores:

git checkout BRANCH # edit config/heroku.yml with new app instance and shortname rake shortname heroku:create deploy # auto creates deploys and migrates

Y, por supuesto, puede hacer tareas de rake más simples si hace algo con frecuencia.


El comando más seguro para empujar diferentes sucursales locales de Git a Heroku / master.

git push -f heroku branch_name:master

Nota: Aunque, puede presionar sin usar la opción -f, se recomienda la opción -f (forzar marca) para evitar conflictos con las presiones de otros desarrolladores.




También tenga en cuenta que si utiliza el sistema de flujo de git y su rama de características, podría llamarse

feature/mobile_additions

y con un control remoto de git llamado stagingtwo, entonces el comando para empujar a heroku sería

git push stagingtwo feature/mobile_additions:master



Al usar un comodín, tenía que estar presente en ambos lados de la refspec, por lo que +refs/heads/*:refs/heads/master refs +refs/heads/*:refs/heads/master no funcionará. Pero puedes usar +HEAD:refs/heads/master :

git config remote.heroku.push +HEAD:refs/heads/master

Además, puedes hacer esto directamente con git push :

git push heroku +HEAD:master git push -f heroku HEAD:master


git push -f heroku local_branch_name:master