Desforre una bifurcación de Github sin eliminar


80

Me gustaría "desenvolver" una bifurcación de GitHub sin borrarla + volver a crearla. es posible?

Mi razón es que mi proyecto ahora tiene un uso completamente diferente al de la fuente de la bifurcación, y no tiene sentido mostrar el número de confirmaciones por delante, o el botón de solicitud de extracción (o al menos, con tanta importancia). En retrospectiva, creo que simplemente habría hecho git cloneel original, en lugar de hacer un tenedor.

Me gustaría no eliminar mi bifurcación para mantener los problemas + historial de solicitudes de extracción realizadas.

Estoy feliz de mantener el historial de confirmaciones, es solo la eliminación del estado de la bifurcación lo que busco.


Me interesaría saber cuál es la solución para un repositorio de git general, en lugar de específicamente para GitHub.
Arj

1
@Arj Tenía la impresión de que una bifurcación es un concepto específico de GitHub, así que sospecho que no hay solución, ¡porque no hay problema!
Michal Charemza

No me di cuenta de que era específico de GitHub, ¡gracias! Sin embargo, estoy usando Atlassian Stash, que también permite bifurcaciones, por lo que debo haber asumido que es genérico. Puede que busque en sus foros.
Arj

Respuestas:


23

Recuerdo haber leído sobre esto hace casi un año en una de las páginas de ayuda de GitHub. Mencionaron ponerse en contacto con el personal de GitHub para explicar su situación. El personal hará lo necesario.


EDITAR

Después de navegar por la lista de páginas de GitHub, veo que estaba un poco fuera de lugar sobre la tarea real. La página que recordaba era Transferir un repositorio ; en particular:

Si el repositorio transferido tiene bifurcaciones , esas bifurcaciones se asocian con el nuevo repositorio una vez que se completa la transferencia. Tenga en cuenta que los usuarios que hayan bifurcado su repositorio deberán actualizar sus URL remotas para que apunten al nuevo repositorio de Git a fin de continuar abriendo solicitudes de extracción.


Aún así, vale la pena ponerse en contacto con el personal con su problema particular y pedirles que separen su bifurcación de la red.


10
Me comuniqué con el personal en github.com/contact , le expliqué mi situación y ahora la han eliminado. O para usar su término, "extraído en su propia red de bifurcaciones". ¡Gracias!
Michal Charemza

66

Na, na. Github es mucho más poderoso de lo que piensas.

Sin lugar a dudas, no hay forma más que hacer una copia simple de todos los códigos. Sin embargo, el procedimiento de copia se puede realizar propio Github . Por lo tanto, no hay problema en duplicar el código con nuestro propio ancho de banda.

Paso a paso:

  • Haga clic en "+" en la esquina superior derecha, seleccione "Importar repositorio"
  • Pegue la URL del repositorio anterior (como https://github.com/user/repo ) e ingrese un nuevo nombre.
  • Haga clic en "Iniciar importación".

Hecho. Github incluso le enviará una notificación por correo electrónico cuando haya terminado de copiar y pegar.

Probado para trabajar contra mi propio proyecto. Buena característica, ¿no?


3
¿Esto también traerá problemas?
chris

1
@ChrisAnderson No lo intenté, pero supongo que no. Dado que acepta cualquier URL git válida, supongo que hace casi una git clone --bareespecie de cosas.
ttimasdf

2
+1 Esta debería ser la respuesta aceptada. Por lo tanto, solo necesita cambiar el nombre de su repositorio bifurcado e importarlo a un nuevo repositorio con el nombre original.
qsp

48

Este método creará un nuevo repositorio "no bifurcado" mientras mantiene todo lo demás (historial de confirmaciones, ramas y etiquetas).

Cómo "deshacer" un proyecto en cuatro sencillos pasos:

  1. git clone --bare https://github.com/{username}/{repository}
  2. Elimina el repositorio original en https://github.com/{username}/{repository}/ settings.
  3. Cree un nuevo repositorio con el nombre {repository}en https://github.com/new .
  4. cd {repository}.git y git push --mirror https://github.com/{username}/{repository}

¡Y hecho!


También debería haber un punto "2.5. Crear un nuevo repositorio con el nombre anterior". - de lo contrario, push diceremote: Repository not found.
BartBiczBoży

4
Afortunadamente, OP mencionó "Me gustaría no eliminar mi bifurcación para mantener los problemas + el historial de solicitudes de extracción realizadas".
Arcesilas

No mantiene la solicitud de extracción. ¿Hay alguna forma de mantener las solicitudes de extracción durante el desviador?
user1858796

También necesitaría recrear cualquier secreto github.com {username} / {repository} / settings / secrets
rectalogic

21

Encontré lo siguiente en la documentación oficial de github:

Para desconectar la bifurcación y convertirla en un repositorio independiente en GitHub, comuníquese con el Soporte de GitHub . Si la bifurcación tiene bifurcaciones propias, infórmele al soporte si las bifurcaciones deben moverse con su repositorio a una nueva red o permanecer en la red actual. Para obtener más información, consulte " Acerca de las bifurcaciones ".

de https://help.github.com/articles/why-are-my-contributions-not-showing-up-on-my-profile/#commit-was-made-in-a-fork

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.