¿Por qué la gente bifurca repositorios en GitHub? [cerrado]

110

Noté que muchas cuentas de GitHub solo tienen repositorios que se bifurcan de otras cuentas. Además, las personas que hacen esto generalmente no hacen ninguna contribución a los repositorios bifurcados.

He oído hablar de personas que coleccionan sellos y conchas marinas, pero ¿por qué alguien querría coleccionar depósitos? Personalmente, solo bifurcaría un repositorio si quisiera hacer algunos cambios en él.

Aadit M Shah
fuente
84
quieren asegurarse de que tienen una copia de seguridad estable caso de que el propietario del proyecto borrar sus repos y desaparecer
monstruo de trinquete
99
Simplemente porque así es como funcionan las solicitudes de extracción en GitHub (y porque las personas están un poco felices y luego se olvidan de eso a veces, o abandonan su idea de proyecto y olvidan deshacerse del tenedor)
haylem
2
solo un comentario, según tengo entendido, usan como "copia de seguridad" del código, pero olvidan (o no saben) que las actualizaciones del repositorio no afectan a las "bifurcaciones", cuando deberían estar haciendo la bifurcación correcta (para la copia de seguridad) y "Star" el repositorio para saber cuándo hacer un "re-fork", en otras palabras, piensan que "fork" es casi lo mismo que "Star" y sin darse cuenta mantiene un código desactualizado.
Guilherme Nascimento
1
Porque han escuchado que tener un Github es suficiente para ser contratado en un arranque en caliente.
Gay
1
Aquí hay una publicación sobre el daño de la bifurcación sin razón zbowling.github.io/blog/2011/11/25/github
gavenkoa

Respuestas:

69

En nuestra línea de trabajo, tendemos a buscar razones técnicas, pero en mi opinión, la razón principal no es técnica. Si mira la Ayuda de GitHub u otros tutoriales de GitHub, bifurcar un repositorio es uno de los principales pasos para "hacer" GitHub.

Cuando las personas están aprendiendo y evaluando GitHub, casi todos los tutoriales les dirán que bifurquen un repositorio como parte de ese proceso de aprendizaje. Dado que el objetivo principal de GitHub es contribuir, muchas personas que trabajan a través de los tutoriales estándar no se dan cuenta de que si solo desea un clon de solo lectura, no tiene que hacer un tenedor primero.

Karl Bielefeldt
fuente
42
En la línea de razones no técnicas: he hecho clic en el botón 'tenedor' varias veces con la esperanza de ver quién ha bifurcado el repositorio, solo para descubrir que lo he bifurcado. Ooops! No estoy seguro si otros han hecho lo mismo.
gdw2
53
@gdw: Haciéndote exclamar: "¡Oh, tenedor!"
Ben Jackson
1
Recuerdo cuando supe por primera vez sobre git y Github, bifurqué solo porque las guías y tutoriales parecían proponerlo como la forma de obtener su propia copia del código en su computadora.
rmac
Usamos GitLab en el trabajo, así que sé muy bien la diferencia entre clonar y bifurcar. También soy de la opinión de que no necesita bifurcar si no desea emitir una solicitud de extracción (combinación para GitLab).
cst1992
3
@Jesse, está bien hacerlo, pero generalmente es innecesario en ese caso. Una compañía podría hacerlo por el código del que dependen para asegurarse de que el original no desaparezca repentinamente. Si todo lo que quiere hacer es construir desde la fuente, un clon es más simple.
Karl Bielefeldt
101

Como mencionó en su pregunta, las personas bifurcan los repositorios cuando quieren hacer un cambio en el código, porque no tienen acceso de escritura al repositorio original (a menos que el propietario del repositorio lo haya agregado como colaborador).

En el repositorio bifurcado tienen acceso de escritura y pueden impulsar cambios. Incluso pueden contribuir de nuevo al repositorio original utilizando solicitudes de extracción .

Creo que hay varias razones por las cuales las personas bifurcan los repositorios pero no los cambian:

  • pueden bifurcar un repositorio que se ve bien, simplemente bifurcarlo (porque es fácil (solo un clic)) y quieren hacer un cambio más tarde (y luego probablemente olvidarlo / no tuvieron tiempo para hacerlo)
  • bifurcan un repositorio para hacer un cambio y luego descubren que el cambio es innecesario y olvidan eliminar el propio repositorio
  • pueden bifurcar un repositorio porque uno de los proyectos depende de otro repositorio (tal vez a través de submódulos) y quieren un control total sobre el repositorio utilizado como dependencia (los propietarios del repositorio original pueden decidir pasar de github a código de google, etc.) )
  • podrían simplemente olvidarse de presionar los compromisos
MarcDefiant
fuente
55
Cuando no está utilizando Github, está siguiendo la ruta de la vieja escuela y creando una copia clonada local del proyecto para que pueda modificarla. La bifurcación en github le da acceso a solicitudes de extracción que son preferidas por muchos proyectos. Si está en otro proyecto, terminará creando parches y enviándolos para su revisión.
Rudolf Olah
Es un proceso simple de un solo paso para configurar una rama de seguimiento remoto. Cualquiera que haya intentado contribuir a un repositorio git fuera de GitHub sabe lo tedioso que puede ser. Además, si el autor original se pone AFK, puede seguir el gráfico de desarrollo para encontrar las bifurcaciones que aún se desarrollan activamente. Con suerte, evitará que GitHub se degenere en un páramo de proyectos muertos de la misma manera que lo hizo SourceForge.
Evan Plaice
¿Qué pasa si bifurca un proyecto pero no hace cambios? ¿Consideraría esto ilegal?
Jesse
@Jesse Todos los repositorios públicos en GitHub deben tener una licencia de código abierto (esos son sus Términos de servicio) y, por lo tanto, no hay ningún problema. Especialmente cuando no haces cambios.
MarcDefiant
28

Una posible razón: tienen código en ejecución que depende de esos proyectos y su proceso de compilación implica extraer las dependencias de github. Tener el tenedor los protege contra cambios importantes. Para proyectos que no etiquetan versiones, esta es la forma más fácil de lograrlo.

Michael Borgwardt
fuente
3
Pueden corregir el número de confirmación o la versión publicada de la versión de lanzamiento de una aplicación.
Roman M. Koss
26

Todo el punto de Github es la "codificación social" .

Personalmente, bifurco repositorios cuando:

  • Quiero hacer un cambio
  • Creo que el proyecto es interesante y tal vez quiera usarlo en el futuro, pero no tengo una forma más fácil de guardarlo para más adelante en el dispositivo que estoy usando actualmente.
  • Quiero usar parte o la totalidad del código en ese repositorio como punto de partida para mi propio proyecto.

Ahora he oído hablar de personas que coleccionan sellos y conchas marinas, pero ¿por qué alguien querría coleccionar depósitos?

Por qué no?

No hay nada (que se me ocurra) que pueda salir mal al bifurcar repositorios para placer personal. Honestamente, mantengo una carpeta de proyectos interesantes que veo en Github y otros lugares simplemente con fines inspiradores, y en parte porque soy un geek. Entiendo que no tengo que bifurcar el proyecto para leer el código, pero es posible que quiera editarlo en el futuro.

Ahora comienza a bifurcar.

Dinámica
fuente
99
+1 para el "¿Por qué no?" sección.
Llepwryd
Mis 2 centavos adicionales en "¿Por qué no?" sección: Mi hábito es siempre hacer "git push" después de terminar de trabajar en una función; tiene esa sensación satisfactoria de QED para mí (que no obtengo al escribir el nombre remoto y la rama). Por lo tanto, siempre que haya una mínima posibilidad de que desee realizar cambios en el repositorio, preferiría bifurcarlo, en lugar de tener que cambiar el repositorio predeterminado "origen".
yoniLavi
1
Creo que el "¿Por qué no?" sección describe cómo funciona "Star" ...
TWiStErRob
2
¿Por qué no solo darle una estrella para guardarla para verla más tarde?
tio
2
Cuando un proyecto es interesante, usaría una estrella. Aunque estoy de acuerdo con el resto.
Roman M. Koss
1

Bifurco muchos repositorios que tal vez quiera usar el código, o si es un proyecto en el que estoy interesado. Cuando quiero volver y echarle otro vistazo al código más tarde, es más fácil encontrarlo si aparece en mi repositorios No tengo que buscar en Google, o pelear tratando de recordar cuál era exactamente el nombre o pensar "¿dónde volví a ver ese repositorio sobre foo?" Si está entre mis repositorios, es más fácil recordar estas cosas.

ChrisDR
fuente
Tenga en cuenta que podría obtener lo mismo al protagonizar el repositorio, no es necesario bifurcar para eso.
valiano