Me gustaría saber las diferencias entre hacer una bifurcación de un proyecto y hacer una clone
de ellas.
¿Puedo enviar solicitudes de extracción solo a través de GitHub si he bifurcado un proyecto?
Me gustaría saber las diferencias entre hacer una bifurcación de un proyecto y hacer una clone
de ellas.
¿Puedo enviar solicitudes de extracción solo a través de GitHub si he bifurcado un proyecto?
Respuestas:
Básicamente sí. A fork
es solo una solicitud para que GitHub clone el proyecto y lo registre con su nombre de usuario ; GitHub también realiza un seguimiento de la relación entre los dos repositorios, para que pueda visualizar las confirmaciones y los tirones entre los dos proyectos (y otros tenedores).
Todavía puede solicitar que la gente extraiga de su repositorio clonado, incluso si no lo usa fork
, pero tendría que lidiar con hacerlo público. O envíe a los desarrolladores parches (ver git format-patch
) que pueden aplicar a sus árboles.
git pull
. Un tenedor toma múltiples comandos. Y no es sorprendente, casi todos los tenedores que miro están desactualizados. Las bifurcaciones son como el problema del repositorio de Maven en los esteroides. En lugar de un repositorio desactualizado (Maven), hay miles de ellos (Git).
git pull
lo que todavía existe algún tipo de relación. Si clonaste la copia completa, está en tu propia máquina local y desconectada del repositorio original.
Cuando dice que está bifurcando un repositorio, básicamente está creando una copia del repositorio con su ID de GitHub. El punto principal a tener en cuenta aquí es que cualquier cambio realizado en el repositorio original se reflejará en sus repositorios bifurcados (debe buscar y volver a crear la base). Sin embargo, si realiza algún cambio en su repositorio bifurcado , tendrá que crear explícitamente una solicitud de extracción en el repositorio original . Si su solicitud de extracción es aprobada por el administrador del repositorio original , sus cambios se confirmarán / fusionarán con la base de código original existente . Hasta entonces, sus cambios se reflejarán solo en la copia que bifurcó .
En breve:
El modelo Fork & Pull le permite a cualquiera bifurcar un repositorio existente e impulsar los cambios a su bifurcación personal sin que se requiera acceso al repositorio fuente. El responsable del proyecto debe extraer los cambios en el repositorio de origen.
Tenga en cuenta que después de bifurcar puede clonar su repositorio (el que está debajo de su nombre) localmente en su máquina. Realice cambios en él y empújelo a su repositorio bifurcado. Sin embargo, para reflejar sus cambios en el repositorio original, su solicitud de extracción debe ser aprobada.
Un par de otras ideas interesantes:
Puede comprometerse en su repositorio en línea (o comprometerse en su repositorio local y luego presionar a su repositorio en línea), luego enviar una solicitud de extracción.
El gerente de proyecto puede aceptarlo para obtener sus cambios en su versión principal en línea.
Un clon es donde tiene la duplicación adecuada y la separación entre dos versiones (posiblemente diferentes) de un repositorio. Cuando se modifica un repositorio, el nuevo contenido debe copiarse activamente al otro repositorio mediante un comando push. Y los cambios en el otro repositorio obtenido.
Cuando bifurca un repositorio, en un servidor, no hay necesidad de duplicar el contenido porque ambos repositorios usarán el mismo contenido [objeto fijo] del mismo servidor. El 'truco' está en administrar los diferentes puntos de vista del usuario para que cada usuario crea que tiene una copia personal completa del repositorio. Empujar y buscar entre horquillas es simplemente actualizar los punteros del usuario.
En un nivel inferior, git hace lo mismo internamente. Si tiene tres archivos diferentes, cada uno de los cuales contiene Hello World
, entonces git simplemente 'bifurca' su copia única del blob Hello World y la ofrece en cada uno de los tres lugares según sea necesario.
La capacidad de bifurcar en el servidor significa que la gran asignación de almacenamiento de Github no es tan grande en promedio ya que cada cuerpo comparte el único repositorio subyacente.
En pocas palabras, Forking es quizás lo mismo que "clonar bajo su ID / perfil de GitHub". Un tenedor es en cualquier momento mejor que un clon, con algunas excepciones, obviamente. El repositorio bifurcado siempre se supervisa / compara con el repositorio original, a diferencia de un repositorio clonado. Eso le permite rastrear los cambios, iniciar solicitudes de extracción y también sincronizar manualmente los cambios realizados en el repositorio original con su bifurcación.
Si bien la respuesta de @ AniketThakur es muy buena. Nadie ha respondido la siguiente pregunta todavía.
¿Puedo enviar solicitudes de extracción solo a través de GitHub si he bifurcado un proyecto?
No. Si usted contribuye a un repositorio, puede: Crear un clon local. Haz una sucursal local. Agregar confirmaciones a esa rama. Empuje la rama local de nuevo a github (creando una rama remota en el proceso). Haga una solicitud de extracción solicitando que esa rama se fusione con la rama maestra (o la rama que desee).
En caso de que haya hecho lo que el interrogador sugirió (se olvidó de bifurcar y clonó localmente un repositorio, realizó cambios y ahora necesita emitir una solicitud de extracción), puede volver a la pista:
Otra diferencia sutil extraña en GitHub es que los cambios en las horquillas no se cuentan en su registro de actividad hasta que sus cambios se incorporen al repositorio original. Además, para cambiar una bifurcación en un clon adecuado, aparentemente debes contactar al soporte de Github.
¿ Por qué mis contribuciones no aparecen ?
Cometer se hizo en un tenedor
Los compromisos realizados en una bifurcación no contarán para sus contribuciones. Para que cuenten, debe realizar una de las siguientes acciones:
Abra una solicitud de extracción para fusionar sus cambios en el repositorio principal. Para separar el tenedor y convertirlo en un repositorio independiente en GitHub, comuníquese con el Soporte de GitHub . Si la bifurcación tiene bifurcaciones propias, informe al soporte técnico 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 horquillas ".