enable - ¿Cómo eliminar un commit colgante de GitHub?
git enable autocomplete (2)
Ayer, empujé a mi fork de ConnectBot en GitHub . Presioné una vez, me di cuenta de que no había hecho el cambio de la forma que quería, volví a hacer el compromiso y presioné nuevamente.
Ahora, GitHub tiene ambos compromisos:
- https://github.com/nylen/connectbot/commit/1cd775d : la primera confirmación "incorrecta"
- https://github.com/nylen/connectbot/commit/987671c - el que quiero conservar
Mi rama maestra solo está rastreando la segunda confirmación, pero la primera confirmación todavía está disponible y todavía está en mi feed de actividad. ¿Cómo puedo eliminarlo para asegurarme de que nadie extraiga accidentalmente ese compromiso en lugar de la versión corregida?
GitHub recolectará periódicamente basura (y otros objetos) a los que no se pueda acceder desde una referencia de nivel superior (como una etiqueta o una rama o un reflog). Esto significa que con el tiempo (por ejemplo, en el próximo mes), este objeto desaparecerá.
La extracción debe generar un paquete que contenga solo objetos a los que se hace referencia, por lo que nadie debe obtener ese compromiso como resultado de un clon o una extracción. Por ejemplo,
$ git clone git://github.com/nylen/connectbot.git
Cloning into connectbot...
remote: Counting objects: 6261, done.
remote: Compressing objects: 100% (1900/1900), done.
remote: Total 6261 (delta 3739), reused 5980 (delta 3520)
Receiving objects: 100% (6261/6261), 3.04 MiB | 3.40 MiB/s, done.
Resolving deltas: 100% (3739/3739), done.
$ git cat-file -t 1cd775d
fatal: Not a valid object name 1cd775d
Si realmente necesita que se elimine de inmediato, probablemente tenga que ponerse en contacto con el servicio de asistencia de GitHub .
Eliminar el repositorio y volver a crearlo sin el compromiso incorrecto parece funcionar si puede permitirse perder todos los problemas. Los datos también desaparecen de la API de confirmación (aunque los eventos de inserción aún están visibles). Consulte también: https://.com/a/32840254/895245
Además, me puse en contacto con soporte y observé de primera mano su capacidad para eliminar los compromisos pendientes cuando subí todos los correos electrónicos de confirmación de GitHub a un representante y me pidieron que lo eliminara: https://github.com/cirosantilli/all-github-commit-emails/issues/3
Su página de ayuda actual dice :
puede eliminar de forma permanente todas las vistas en caché de su repositorio y extraer solicitudes en GitHub poniéndose en contacto con Soporte de GitHub.