¿Debo mantener mis repositorios bifurcados de GitHub para siempre?

314

Así que bifurqué el repositorio de otra persona, hice algunos cambios, presenté una solicitud de extracción y mis cambios se incorporaron al producto. ¡Excelente!

Pero ... ¿qué debo hacer con mi repositorio bifurcado? ¿Hay alguna razón convincente para mantener mi repositorio o debo continuar y eliminarlo? No planeo hacer ninguna contribución adicional, pero si cambio de opinión, supongo que siempre puedo volver a bifurcarlo.

No estoy realmente preocupado por mantener una copia de seguridad. Me preocupa más romper enlaces, perder mensajes de confirmación, etc.

Brant Bobby
fuente
80
Elimínelo o github se quedará sin hashes.
Armand
3
El código duplicado es malo. Y eso también va más allá de los límites de git.
stijn
77
@stijn: lo leí más como "copia de seguridad" que como "duplicado". Y yo no creo que nunca he oído a nadie argumentar que el código de copia de seguridad es el mal ...
Beekguk
3
Bórralo. Después de todo, siempre puede descargar el último estado (que es el que querrá seguir trabajando de todos modos) desde el repositorio del proyecto.
Torre
¿Qué sucede si se borra el repositorio original y no quedan tenedores? ¿Cómo recuperar el acceso al repositorio / fork en ese caso?
Kromster

Respuestas:

40

La eliminación de repositorios bifurcados borrará el historial de sus solicitudes de extracción.

PR con repositorio desconocido

La eliminación de un repositorio bifurcado eliminará cualquier información asociada con su repositorio. Esto puede afectar de manera retroactiva cualquier referencia a su repositorio, incluidas las solicitudes de extracción que ya se han fusionado. (Consulte Solicitud de extracción muestra "repositorio desconocido" después de eliminar la bifurcación )

Sus comentarios y confirmaciones deben conservarse en cualquier solicitud de extracción asociada con su repositorio, pero lo hará bajo su propio riesgo.

Sin embargo, eliminar ramas viejas después de una fusión es perfectamente seguro.

Si bien se debe evitar la eliminación de repositorios, la eliminación de ramas no utilizadas es perfectamente aceptable. De hecho, GitHub lo alienta a eliminar ramas viejas .

Poner en orden después de las solicitudes de extracción

En GitHub, nos encanta usar solicitudes de extracción todo el día, todos los días. El único problema es que terminamos con muchas ramas difuntas después de que las solicitudes de extracción se hayan fusionado o cerrado. De vez en cuando, uno de nosotros limpiaba estas ramas con un script, pero pensamos que sería mejor encargarse de este paso como parte de nuestro flujo de trabajo regular en GitHub.com.

A partir de hoy, después de fusionar una solicitud de extracción, verá un botón para eliminar la rama persistente:

Eliminar este botón de rama

Si la solicitud de extracción se cerró sin fusionarse, el botón se verá un poco diferente para advertirle sobre la eliminación de confirmaciones no fusionadas:

Eliminar rama con advertencia

Por supuesto, solo puede eliminar ramas en repositorios a los que tiene acceso push.

¡Disfruta de tus ordenados repositorios!

Alternativamente, si realmente no desea conservarlos, puede archivar un repositorio para indicar que ya no se mantiene activamente.

Ver también

Stevoisiak
fuente
1
¿Qué sucede exactamente con las solicitudes de extracción cerradas no fusionadas cuando elimina su rama (el segundo caso en el artículo citado)? ¿Las confirmaciones seguirán estando disponibles en la solicitud de extracción, solo sin su historial, o desaparecerán por completo?
error tipográfico
2
@typo De acuerdo con la documentación de GitHub, " no puede eliminar las ramas que están asociados con las solicitudes de extracción abiertas. "
Stevoisiak
207

Si su solicitud de extracción fue aceptada y no ha realizado ningún otro cambio que pueda usar personalmente, debe eliminarla.

  1. Eliminar no hace daño a nada.
  2. Siempre puedes reformatear si necesitas
  3. Reduce los repositorios inútiles en los resultados de búsqueda cuando las personas buscan algo
  4. Si usa su GitHub como una especie de currículum para trabajos / contratos potenciales, se verá mejor si no tiene docenas de repositorios bifurcados en los que no está trabajando actualmente. Te verás más eficiente.
  5. Ayuda a su propia cordura cuando no tiene que navegar por cientos de repositorios inútiles.
  6. Es mejor para GitHub. :)
tharris
fuente
50
La única desventaja de esto es que la solicitud de extracción mostrará "commit <commit> combinado <repo>desde unknown repositorydesde <date>", lo cual es un poco extraño.
PLPeeters
18
@PLPeeters, en realidad es un gran inconveniente.
Pacerier
44
Sugiero usar remove-github-forkspara "Eliminar todas las bifurcaciones que no tienen confirmaciones que no están en el repositorio principal". Funciona de maravilla.
fregante
3
@SteveMoser Puedo estar equivocado, pero creo que aún conserva la lista "Repositorios a los que contribuyó". Tuve uno con el que eliminé todas las conexiones y todavía permanecía allí de alguna manera, pero podría haber sido una casualidad: P
Mark Pieszak - Trilon.io
17
Tomé el riesgo y eliminé el repositorio bifurcado y mi lista contribuida no se vio afectada, así que puedo decir con seguridad que eliminar el repositorio bifurcado no afectará sus créditos de contribución
Amin Mohamed Ajani
76

Puede eliminar su bifurcación tan pronto como envíe una solicitud de extracción , independientemente de si se fusionó o no. GitHub almacena todos los PR en el repositorio ascendente , lo que significa que los cambios propuestos se rastrean incluso si se elimina la bifurcación.

Eso simplifica la decisión.

Es posible que aún desee conservar el tenedor si:

  • Contribuirá más de inmediato (p. Ej., Extender las relaciones públicas existentes o abrir nuevas relaciones públicas)

Es posible que desee eliminar la bifurcación si:

  • Quieres una cartera limpia de proyectos a tu nombre
Dennis
fuente
77
"Puede eliminar su bifurcación tan pronto como envíe su solicitud de extracción" ¡Esto es lo que estaba buscando!
Unnawut
Yo también, pero la respuesta comienza con "Si tu solicitud de extracción fue aceptada ..." ¿Lo intentaste ?: D
Legends
44
Advertencia : cuando elimina su bifurcación, el nombre de rama original se elimina de cualquier solicitud de extracción pendiente. ( Stevoisiak quiere fusionar 1 commit Drugoy:masterdeunknown repository )
Stevoisiak
20

Probablemente lo usaría como tar / gzip y lo pondría en un directorio de archivos, luego lo eliminaría 3 años después. ;) Sinceramente, si no tiene la intención de volver a trabajar en él durante los próximos meses y no lo ha usado en mucho tiempo, creo que sería seguro eliminarlo.

Zachary K
fuente
9

Solo para agregar a las respuestas proporcionadas: GitHub mismo recomienda eliminar ("ordenar") repositorios bifurcados después de que se hayan fusionado.

Esto se puede hacer directamente en la solicitud de extracción después de la fusión; consulte esta publicación de blog .

Además, a partir de este momento, no veo inconvenientes notados en los comentarios:

  • incluso después de eliminar el repositorio bifurcado, hay un mensaje correcto en la solicitud de extracción (no hay "repositorio desconocido")
  • el repositorio al que ha contribuido todavía figura en su actividad de contribución
  • todavía está en la lista de contribuyentes de ese repositorio

No recomendaría eliminarlo antes de fusionar como lo sugiere @Dennis, ya que es posible que aún tenga que hacer algunas modificaciones al código si los autores lo solicitan.

Marius Balčytis
fuente
2
Acabo de eliminar un repositorio bifurcado y la solicitud de extracción ahora dice unknown repository. Oh bien.
Krassi
10
Su enlace va a un artículo que explica cómo eliminar una rama después de una fusión de relaciones públicas exitosa; Sin embargo, esta pregunta se refiere a eliminar un repositorio . Solo observará el "repositorio desconocido" cuando elimine su propio fork de proyecto ( repositorio ).
stakx
2
La pregunta se trata de eliminar una bifurcación, no una rama.
Andy