Cómo vincular una carpeta con una aplicación Heroku existente


815

Tengo una aplicación Rails existente en GitHub e implementada en Heroku. Estoy tratando de configurar una nueva máquina de desarrollo y he clonado el proyecto desde mi repositorio de GitHub. Sin embargo, estoy confundido sobre cómo vincular esta carpeta a Heroku. Originalmente, usé el heroku createcomando, pero obviamente no quiero hacerlo esta vez, ya que creará otra instancia de Heroku.

Respuestas:


1243

Heroku vincula sus proyectos en función del herokucontrol remoto de git (y algunas otras opciones, consulte la actualización a continuación). Para agregar su control remoto Heroku como control remoto en su repositorio actual, use el siguiente comando:

git remote add heroku git@heroku.com:project.git

donde projectestá el nombre de su proyecto Heroku (el mismo que el project.heroku.comsubdominio). Una vez que lo haya hecho, puede usar los heroku xxxxcomandos (suponiendo que tenga instalado Heroku Toolbelt ), y puede presionar a Heroku como de costumbre a través de git push heroku master. Como acceso directo, si está utilizando la herramienta de línea de comandos, puede escribir:

heroku git:remote -a project

donde, nuevamente, projectes el nombre de su proyecto Heroku (gracias, Coronel Panic ). Puede nombrar el control remoto Git como quiera pasando -r remote_name.

[Actualizar]

Como mencionó Ben en los comentarios, el control remoto no necesita ser nombrado herokupara que los comandos de gema funcionen. Verifiqué la fuente , y parece que funciona así:

  1. Si especifica un nombre de aplicación a través de la --appopción (por ejemplo heroku info --app myapp), usará esa aplicación.
  2. Si especifica un nombre remoto de Git a través de la --remoteopción (por ejemplo heroku info --remote production), usará la aplicación asociada con ese control remoto de Git.
  3. Si no especifica ninguna opción y lo ha heroku.remoteconfigurado en su archivo de configuración de Git, usará la aplicación asociada con ese control remoto (por ejemplo, para configurar el control remoto predeterminado para uso de "producción" git config heroku.remote productionen su repositorio, y Heroku se ejecutará git config heroku.remotepara leer el valor de esta configuración)
  4. Si no especifica ninguna opción, la gema no encuentra ninguna configuración en su .git/configarchivo, y la gema solo encuentra un control remoto en sus controles remotos Git que tiene "heroku.com" en la URL, usará ese control remoto.
  5. Si ninguno de estos funciona, genera un error que le indica que pase --appa su comando.

El enlace a "la fuente", arriba, no funciona. Tal vez intente esta página: devcenter.heroku.com/articles/using-the-cli , aunque creo que el documento allí no es suficiente.
Purplejacket

1
Si intenta utilizar el heroku git:remotemétodo, compruebe que está utilizando el cli heroku toolbelt y que todavía no tiene ninguna gema heroku instalada en su sistema (parece que no funcionó para mí con las gemas antiguas).
Pierre-Adrien Buisson

3
Además, para varias ramas heroku, puede usar $ git config heroku.remote <appname>para configurar la aplicación predeterminada para que pueda usar comandos de terminal para esa aplicación.
Sheharyar

1
si usa http, es decir heroku login, el control remoto tiene la formahttps://git.heroku.com/project-name.git
máximo demandante

1
Nota: Heroku ahora lo describe en la descripción general del proyecto: vaya a dashboard.heroku.com , haga clic en su aplicación, luego cambie a la pestaña "desplegar" y elija el método de despliegue "Heroku git" (seleccionado por defecto). Luego, recibirá instrucciones sobre cómo conectar una carpeta / git existente con Heroku.
práctico el

230

La CLI de Heroku tiene un atajo fácil para esto. Para una aplicación llamada 'falling-wind-1624':

$ heroku git:remote -a falling-wind-1624
Git remote heroku added.

Ver https://devcenter.heroku.com/articles/git#creating-a-heroku-remote


1
! Resource not found
Verde

1
Puede nombrar el control remoto como quiera pasando-r other_remote_name
MasterScrat

2
Esta sigue siendo la forma correcta de hacerlo, incluso si ha conectado su aplicación Heroku directamente a GitHub. Tenga en cuenta que no sobrescribirá su control remoto de "origen"; crea un control remoto "heroku" en su lugar.
Seth

144

No olvide, si también está en una máquina donde no ha configurado heroku antes

heroku keys:add

O no podrá empujar o tirar al repositorio.


3
¡Oh si! Eso también me ayudó. Tenía una aplicación donde comenzamos básico, luego bifurcamos "heroku" en "puesta en escena" y "producción". Así lo hice git remote add staging git@staging.xx:yy.gity git remote add production git@production.xx:yy.git, pero eso no fue suficiente. Cuando traté de hacer git push staging master(o producción) obtenía "Permiso denegado (clave pública). Fatal: el extremo remoto colgó inesperadamente". Lo que solucionó ese error fue hacer lo heroku keys:addque Ghoti menciona.
Purplejacket

8

Dos cosas a tener en cuenta al configurar un nuevo sistema de implementación para una aplicación anterior

1. Para verificar el acceso de su aplicación a Heroku (especialmente la aplicación)

heroku apps

mostrará una lista de las aplicaciones a las que tiene acceso si configura por primera vez, probablemente necesite

heroku keys:add

2. Luego configure su control remoto git

Para la aplicación Heroku ya creada, puede agregar fácilmente un control remoto a su repositorio local con el heroku git: remotecomando. Todo lo que necesitas es el nombre de tu aplicación Heroku:

heroku git:remote -a appName

También puede cambiar el nombre de sus controles remotos con el comando git remote rename:

git remote rename heroku heroku-dev(you desired app name)

Luego puede usar el comando git remote para confirmar que se haya configurado un control remoto para su aplicación

 git remote -v

4

Usa el tenedor de heroku

  1. ¡Utiliza el nuevo comando "heroku fork"! ¡Copiará todo el entorno y tendrá que actualizar el repositorio de github después!

    heroku fork -a sourceapp targetapp
    
  2. Clonarlo local

    git clone git@heroku.com:youamazingapp.git
    
  3. Haga un nuevo repositorio en github y agréguelo

    git remote add origin https://github.com/yourname/your_repo.git
    
  4. Empuja github

    git push origin master
    



Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.