Mensaje de Heroku “clonó un repositorio vacío” para un repositorio que no está vacío

3 minutos de lectura

Dados los problemas de Heroku/Github, estoy tratando de usar las instrucciones de liberación de Heroku CLI en su lugar.

Funcionó bien para uno de los entornos en mi canalización, pero no para el otro. Devuelve “Parece que has clonado un repositorio vacío”. cuando ejecuto lo siguiente.

heroku git:clone -a xxxxxx-release 
Cloning into 'xxxxxx-release'...
warning: You appear to have cloned an empty repository.

Hay mucho código en este entorno de ejecución. Eché un vistazo a esto – https://help.heroku.com/XOBUHLKQ/why-do-i-see-a-message-you-parece-tener-clonado-un-repositorio-vacío-cuando-usando-heroku-git-clone – pero dice que la respuesta tiene que ver con botones, que no usamos. Intenté confundirme allí, pero parece que no puedo hacer un botón para una aplicación actual, solo una nueva.

SO señala que puedo intentar agregar un archivo y confirmarlo, pero eso también devuelve un error:

remote: !   Push rejected to xxxxxx-release.        
remote: 
To https://git.heroku.com/xxxxxx-release.git
  ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/xxxxxxx-release.git'

Ahora no sé cómo liberar a esta rama. Gracias de antemano por cualquier ayuda.

  • Nota al margen: está mezclando Git (que no sabe nada sobre Heroku y se le debe decir todo explícitamente aquí) y Heroku (que conoce y depende de Git para ciertos pasos y, por lo tanto, tiene heroku git:whatever comandos). Cuando Git dice que has clonado un repositorio vacío, es correcto: ese repositorio está vacío porque Heroku lo vació. Git nunca lo supo en primer lugar, excepto brevemente mientras Heroku estaba usando Git.

    – torek

    21 abr a las 20:34

No clones de Heroku.

Dado que ha estado implementando a través de GitHub, ya debería tener una copia local. Solo usa eso:

cd project-directory/
heroku git:remote -a <YOUR_APP_NAME>  # Add a remote for your Heroku-hosted app
git push heroku  # Assuming you're already on main and want to deploy that version

Si, por alguna razón, no tiene una copia local, clone desde GitHub luego proceda como se indicó anteriormente.

Clonación / extracción de Heroku no está destinado a ser parte de su flujo de trabajo regular:

El repositorio Git de una aplicación Heroku está diseñado solo para fines de implementación. La clonación desde este repositorio no se admite oficialmente como una función y debe intentarse solo como último recurso. No use este repositorio como el repositorio de “origen” canónico de su aplicación. En su lugar, utilice su propio servidor Git o un servicio de control de versiones como GitHub.

Y la razón por la que obtienes un repositorio vacío cuando clonas desde Heroku es que Las implementaciones de GitHub no llenan el repositorio alojado en Heroku:

¿La integración de GitHub se sincroniza con mi repositorio de Git alojado en Heroku?

Para las aplicaciones con la integración de GitHub habilitada, Heroku no no sincronizar el contenido del repositorio de GitHub con el repositorio alojado en Heroku. En cambio, Heroku extrae la fuente directamente de GitHub.

  • Muchas gracias Cris. Eso hace el truco. Entonces, parece que nuestra rama de “lanzamiento” siempre se configuró con la integración de GitHub, razón por la cual no funciona como las otras ramas, que en algún momento no funcionaron. Esto nos lleva a donde necesitamos ir mientras tanto. Esperando que Heroku/Git arreglen sus cosas.

    –Jeremy L.

    21 abr a las 18:50

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad