Bifurcar un repositorio en GitHub

John Wachira 15 febrero 2024
Bifurcar un repositorio en GitHub

Este artículo describe el proceso de creación y administración de bifurcaciones en GitHub. Una bifurcación es una copia de un repositorio que administra en su cuenta de GitHub.

Las bifurcaciones nos permiten realizar cambios en un proyecto sin alterar necesariamente el repositorio original. Podemos actualizar las bifurcaciones obteniendo cambios o sugiriendo cambios al propietario original a través de una bifurcación.

Bifurcar un repositorio en GitHub

Cuando creamos una bifurcación en GitHub, podemos:

  1. Envíe una solicitud de extracción al propietario original sugiriendo cambios en el repositorio original.
  2. Sincronizar nuestra bifurcación para actualizar con los cambios del repositorio original, generalmente denominado upstream.

Proponer cambios al proyecto de alguien

Un escenario perfecto para usar una bifurcación es cuando encuentras un error en el código de alguien. En lugar de registrar el problema, simplemente puede:

  1. Bifurque el repositorio.
  2. Solucione el error.
  3. Envíe una solicitud de extracción al propietario.

Utilice un proyecto como punto de partida para su idea

También podemos utilizar el proyecto de otra persona como punto de partida para nuestro proyecto. Un buen ejemplo es cuando se desarrolla un marco API.

Tomemos el ejemplo de las API REST. Hay docenas de proyectos repetitivos/plantillas en GitHub.

La mayoría de estos son repositorios públicos y le permiten bifurcarse y comenzar a realizar cambios.

¿Cómo se bifurca en GitHub?

Bifurcar un repositorio

Una vez que haya encontrado un repositorio para bifurcar, siga estos sencillos pasos y estará listo y funcionando en muy poco tiempo.

  1. En GitHub.com, abra el repositorio que desea bifurcar, navegue hasta la esquina superior derecha y haga clic en Fork.

    Botón de horquilla

  2. Elija un propietario para la bifurcación y asígnele un nombre; también puede agregar una breve descripción de la bifurcación. Además, puede copiar solo la rama predeterminada.

    Crear bifurcación

  3. Una vez satisfecho, haga clic en Crear bifurcación para finalizar el proceso. Esto creará una copia del repositorio en su cuenta.

Después de crear una bifurcación, debe clonar la bifurcación en su máquina para comenzar a realizar cambios. La clonación de la bifurcación traerá los archivos a su repositorio local en su máquina.

  1. Navegue hasta la bifurcación en GitHub y haga clic en Código.

    Botón de código de GitHub

  2. Para esta sesión, clonaremos el repositorio mediante HTTPS. Copie la URL bajo HTTPS.

    URL HTTPS

  3. Abriremos Git Bash y cambiaremos al directorio de trabajo que queremos clonar. Use el comando git clone con el enlace que copió para clonar el repositorio.

    Clonar repositorio

Todos los archivos y ramas de la bifurcación se copiarán en su máquina local y podrá comenzar a desarrollar.

Siempre es recomendable mantener tu bifurcación actualizada con el repositorio original. Podemos configurar git para sincronizar nuestra bifurcación con el repositorio original siguiendo estos pasos:

  1. En GitHub, navegue hasta el repositorio original y haga clic en Código. (Idéntico a la sesión anterior).

  2. Copiaremos la URL HTTPS y abriremos el Git Bash.

  3. A continuación, cambiaremos al directorio que contiene nuestro clon de la bifurcación y ejecutaremos el comando git remote -v para ver qué control remoto está configurado con nuestra bifurcación.

    Ejecutar Git remoto

  4. Ahora podemos usar el comando git remote add upstream con nuestro enlace, como se muestra a continuación:

    $ git remote add upstream https://github.com/app-generator/flask-corona-dark.git
    

    Ejecute Git Remote Add Upstream

Para sincronizar la bifurcación, buscaremos desde el upstream ejecutando el comando git fetch upstream.

Ejecutar Git Fetch Upstream

Ahora podemos fusionar los cambios de la rama maestra ascendente con la rama maestra de nuestra bifurcación local con el comando git merge upstream/master. Antes de continuar, asegúrese de estar registrado en su sucursal local maestra; maestro en este caso es la rama por defecto de nuestra bifurcación.

Si tuviéramos algunas confirmaciones únicas en nuestro repositorio local, tendríamos que lidiar con los conflictos. Si este no es el caso, haremos una fusión de avance rápido.

Esto actualizará nuestra rama maestra con los cambios anteriores. Lo que queda es impulsar los cambios en nuestra bifurcación en GitHub.

John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

Artículo relacionado - Git Pull