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.
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.
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