Skip to main content

Bifurcar un repositorio

Una bifurcación es una copia de un repositorio. Bifurcar un repositorio te permite experimentar libremente con cambios sin afectar el proyecto original.

Acerca de las bifurcaciones

Lo más común es que las bifurcaciones se utilicen ya sea para proponer cambios en el proyecto de alguien más, en el que no tienes acceso de escritura, o para utilizar el proyecto de alguien más como punto de inicio para tu idea propia. Puedes bifurcar un repositorio para crear una copia del mismo y hacer cambios sin afectar al repositorio ascendente. Para obtener más información, vea "Trabajar con bifurcaciones".

Proponer cambios para el proyecto de otra persona

Por ejemplo, puedes utilizar ramificaciones para proponer cambios relacionados con arreglar un error. En lugar de registrar una incidencia para un error que has encontrado, puedes hacer lo siguiente:

  • Bifurque el repositorio.
  • Solucionar el problema.
  • Emitir solicitudes de cambios al propietario del proyecto.

Usar el proyecto de otra persona como inicio de tu propia idea

El software de código abierto se basa en la idea de que, si compartimos el código, podemos crear software más confiable y mejor. Para obtener más información, vea "Acerca de la iniciativa de código abierto" en la iniciativa de código abierto.

Para obtener más información acerca de cómo aplicar los principios de código abierto al trabajo de desarrollo de su organización en GitHub.com, vea las notas del producto de GitHub "Introducción a InnerSource".

Cuando creas tu repositorio público desde una ramificación del proyecto de alguien más, asegúrate de incluir el archivo de licencia que determine cómo quieres que se comparta tu proyecto con los demás. Para obtener más información, vea "Elegir una licencia de código abierto" en choosealicense.com.

Para más información sobre el código abierto, en concreto cómo crear e incrementar un proyecto de código abierto, hemos creado Guías de código abierto que le ayudarán a desarrollar una comunidad de código abierto con la recomendación de procedimientos recomendados para crear y mantener repositorios para un proyecto de código abierto. También puede tomar un curso gratuito de GitHub Skills sobre el mantenimiento de comunidades de código abierto.

Prerrequisitos

Si aún no lo has hecho, primero debes configurar Git. No olvide configurar la autenticación en GitHub.com también desde Git.

Bifurcar un repositorio

Puedes ramificar un proyecto para proponer cambios en los repositorios precedentes u originales. En este caso, es una buena práctica sincronizar tu bifurcación periódicamente con el repositorio ascendente. Para hacerlo, deberás usar Git en la línea de comando. Puede practicar la configuración del repositorio ascendente con el mismo repositorio octocat/Spoon-Knife que acaba de bifurcar.

  1. En GitHub.com, vaya al repositorio octocat/Spoon-Knife.
  2. En la esquina superior derecha de la página, haga clic en Fork (Bifurcar). Botón Fork (Bifurcar)
  3. Selecciona un propietario para el repositorio bifurcado. Creación de una página de bifurcación con la lista desplegable Propietario resaltada
  4. De forma predeterminada, las bifurcaciones tienen el mismo nombre que sus repositorios primarios. Puedes cambiar el nombre de la bifurcación para distinguirlo aún más. Creación de una página de bifurcación con el campo Nombre del repositorio resaltado
  5. Opcionalmente, puedes agregar una descripción de la bifurcación. Creación de una página de bifurcación con el campo Descripción resaltado
  6. Elige si quieres copiar solo la rama predeterminada, o bien todas las ramas en la nueva bifurcación. En muchos escenarios de bifurcación, como los de contribución a proyectos de código abierto, solo tienes que copiar la rama predeterminada. De forma predeterminada, solo se copia la rama predeterminada. Opción para copiar solo la rama predeterminada
  7. Haz clic en Crear bifurcación. Botón Crear bifurcación resaltado

Nota: Si quieres copiar ramas adicionales del repositorio primario, puedes hacerlo desde la página Ramas. Para más información, consulta "Creación y eliminación de ramas dentro del repositorio".

Para obtener más información sobre GitHub CLI, vea "Acerca de GitHub CLI".

Para crear una bifurcación de un repositorio, use el subcomando gh repo fork.

gh repo fork repository

Para crear la bifurcación en una organización, use la marca --org.

gh repo fork repository --org "octo-org"

Clonar tu repositorio bifurcado

Ahora mismo, tienes una bifurcación del repositorio Spoon-Knife, pero no tienes los archivos de ese repositorio localmente en tu equipo.

  1. En GitHub.com, vaya a la bifurcación del repositorio Spoon-Knife.

  2. Encima de la lista de archivos, haga clic en Código. Botón "Código"

  3. Copia la dirección URL del repositorio.

    • Para clonar el repositorio con HTTPS, en «HTTPS» haz clic en .
    • Para clonar el repositorio mediante una clave SSH, incluido un certificado emitido por la entidad de certificación SSH de la organización, haga clic en Usar SSH y luego en .
    • Para clonar un repositorio mediante GitHub CLI, haz clic en GitHub CLI y, después, haz clic en . El icono del portapapeles para copiar la URL para clonar un repositorio con el CLI de GitHub 1. Abra TerminalTerminalGit Bash. 4. Cambia el directorio de trabajo actual a la ubicación en donde quieres clonar el directorio.
  4. Escriba git clone y pegue la dirección URL que ha copiado antes. Tendrá este aspecto, con su nombre de usuario de GitHub en lugar de YOUR-USERNAME:

    $ git clone https://github.com/YOUR-USERNAME/Spoon-Knife
  5. Presione ENTRAR. Se creará tu clon local.

    $ git clone https://github.com/YOUR-USERNAME/Spoon-Knife
    > Cloning into `Spoon-Knife`...
    > remote: Counting objects: 10, done.
    > remote: Compressing objects: 100% (8/8), done.
    > remote: Total 10 (delta 1), reused 10 (delta 1)
    > Unpacking objects: 100% (10/10), done.

Para obtener más información sobre GitHub CLI, vea "Acerca de GitHub CLI".

Para crear un clon de la bifurcación, use la marca --clone.

gh repo fork repository --clone=true
  1. En el menú File, haga clic en Clone Repository.

    Clonar opción de menú en la aplicación Mac

    Opción Clone menu (Clonar menú) en la app de Windows

    1. Haz clic en la pestaña que corresponde a la ubicación del repositorio que deseas clonar. También puede hacer clic en **URL** para especificar manualmente la ubicación del repositorio.

    Pestañas de ubicación en el menú Clone a repository (Clonar un repositorio)

    Pestañas de ubicación en el menú Clone a repository (Clonar un repositorio)

    1. Elija el repositorio que quiera clonar en la lista.

    Clonar una lista de repositorio

    Clonar una lista de repositorio

    1. Haga clic en **Elegir...** y navegue hasta una ruta local donde quiera clonar el repositorio.

    El botón Elegir

    El botón Elegir

    1. Haga clic en **Clone** (Clonar).

    El botón Clonar

    El botón Clonar

Configurar a Git para sincronizar tu bifurcación con el repositorio original

Cuando bifurcas un proyecto para proponer cambios en el repositorio original, puedes configurar Git para extraer cambios del repositorio original o ascendente en el clon local de tu bifurcación.

  1. En GitHub.com, vaya al repositorio octocat/Spoon-Knife.

  2. Encima de la lista de archivos, haga clic en Código. Botón "Código"

  3. Copia la dirección URL del repositorio.

    • Para clonar el repositorio con HTTPS, en «HTTPS» haz clic en .
    • Para clonar el repositorio mediante una clave SSH, incluido un certificado emitido por la entidad de certificación SSH de la organización, haga clic en Usar SSH y luego en .
    • Para clonar un repositorio mediante GitHub CLI, haz clic en GitHub CLI y, después, haz clic en . El icono del portapapeles para copiar la URL para clonar un repositorio con el CLI de GitHub 1. Abra TerminalTerminalGit Bash.
  4. Cambia el directorio de la ubicación de la bifurcación que clonaste.

    • Para ir al directorio principal, escriba solo cd sin ningún otro texto.
    • Para generar una lista de los archivos y carpetas en su directorio actual, escriba ls.
    • Para ir a uno de los directorios mostrados, escriba cd your_listed_directory.
    • Para subir un directorio, escriba cd ...
  5. Escriba git remote -v y presione Entrar. Verás el repositorio remoto configurado actualmente para tu bifurcación.

    $ git remote -v
    > origin  https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
    > origin  https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
  6. Escribe git remote add upstream, pega la dirección URL que has copiado en el paso 3 y presiona Enter (Entrar). Tendrá este aspecto:

    $ git remote add upstream https://github.com/ORIGINAL_OWNER/Spoon-Knife.git
  7. A fin de verificar el nuevo repositorio ascendente que has especificado para tu bifurcación, escribe git remote -v otra vez. Debería ver la dirección URL de la bifurcación como origin y la dirección URL del repositorio original como upstream.

    $ git remote -v
    > origin    https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
    > origin    https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
    > upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch)
    > upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)

Ahora, puedes mantener tu bifurcación sincronizada con el repositorio ascendente con unos pocos comandos Git. Para obtener más información, vea "Sincronizar una bifurcación".

Para obtener más información sobre GitHub CLI, vea "Acerca de GitHub CLI".

A fin de configurar un repositorio remoto para el repositorio bifurcado, utilice la marca --remote.

gh repo fork repository --remote=true

Para especificar el nombre del repositorio remoto, use la marca --remote-name.

gh repo fork repository --remote-name "main-remote-repo"

Edición de una bifurcación

Puedes hacer cualquier cambio a una ramificación, incluyendo:

  • Crear ramas: las ramas permiten compilar características o probar ideas sin poner en riesgo el proyecto principal.
  • Abrir solicitudes de incorporación de cambios: si espera colaborar en el repositorio original, puede enviar una solicitud al autor original para extraer su bifurcación en su repositorio enviando una solicitud de incorporación de cambios.

Encontrar otro repositorio para bifurcar

Bifurca un repositorio para comenzar a colaborar con un proyecto. Si tienes acceso a un repositorio privado y el propietario permite las bifurcaciones, puedes bifurcar el repositorio a tu cuenta personal o a cualquier organización de GitHub Team en la que tengas permisos de creación de repositorios. No puedes bifurcar un repositorio privado a una organización que use GitHub Free. Para más información, vea "Productos de GitHub".

Puede examinar Explore (Explorar) para encontrar proyectos y comenzar a colaborar en repositorios de código abierto. Para obtener más información, vea "Buscar formas de contribuir al código abierto en GitHub".

Pasos siguientes

Ahora ya has bifurcado un repositorio, has practicado la clonación de tu bifurcación y has configurado un repositorio ascendente.

  • Para obtener más información sobre cómo clonar la bifurcación y sincronizar los cambios en un repositorio bifurcado desde tu equipo, consulta "Configuración de Git".

  • También puedes crear un repositorio nuevo en donde pongas todos tus proyectos y compartir el código en GitHub. La creación de un repositorio para el proyecto permite almacenar código en GitHub. Esto proporciona una copia de seguridad del trabajo que puedes elegir compartir con otros desarrolladores. Para obtener más información, consulta «Creación de un repositorio»."

  • Cada repositorio de GitHub le pertenece a una persona u organización. Puedes interactuar con las personas, repositorios y organizaciones conectándote y siguiéndolos en GitHub. Para obtener más información, consulta "Ser social".

  • GitHub tiene una excelente comunidad de soporte técnico en la que puede pedir ayuda y hablar con usuarios de todo el mundo. Únete a la conversación en GitHub Community.