Skip to main content

Bifurcar un repositorio

Bifurque un repositorio sobre GitHub para proponer cambios, colaborar en proyectos y administrar su propia copia del código base.

¿Quién puede utilizar esta característica?

Los miembros de una instancia de empresa con usuarios administrados no pueden bifurcar repositorios desde fuera de la empresa ni bifurcar repositorios internos.

Platform navigation

Acerca de los forks

Bifurcar un repositorio te permite proponer cambios a un proyecto sin afectar al repositorio original. Consulte Acerca de los forks.

Prerequisites

Si aún no lo ha hecho, configure Git y la autenticación con GitHub.com desde Git. Consulte Configuración de Git.

Clonar un repositorio

Puedes ramificar un proyecto para proponer cambios en el repositorio ascendente. En este caso, es una buena práctica sincronizar regularmente tu fork con el repositorio original. 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, vaya al repositorio octocat/Spoon-Knife.

  2. En la esquina superior derecha de la página, haga clic en Fork (Bifurcar).

    Captura de pantalla de la página principal del repositorio. Un botón, etiquetado con un icono de fork y "Fork 59.3k", está delineado en naranja oscuro.

  3. En "Propietario", selecciona el menú desplegable y haz clic sobre un propietario del repositorio bifurcado.

  4. De forma predeterminada, las bifurcaciones tienen el mismo nombre que sus repositorios ascendentes. Opcionalmente, en el campo "Nombre del repositorio", escriba otro nombre para distinguir tu bifurcación.

  5. Opcionalmente, en el campo de descripción, escribe una descripción de tu bifurcación.

  6. Opcionalmente, selecciona Copiar solo la rama DEFAULT.

    En muchos escenarios de bifurcación, como los de contribución a proyectos de código abierto, solo tienes que copiar la rama predeterminada. Si no selecciona esta opción, todas las ramas se copiarán en la nueva bifurcación.

  7. Haz clic en Crear bifurcación.

Nota:

Si quieres copiar otras ramas del repositorio ascendente, puedes hacerlo desde la página Branches. Consulte Managing branches within your repository.

Nota:

Para más información sobre GitHub CLI, consulta 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"

Puede bifurcar un repositorio en GitHub.com o en GitHub Desktop. Para obtener información sobre cómo crear una bifurcación en GitHub.com, consulte la versión de este artículo para el navegador web.

En GitHub Desktop, al clonar un repositorio al que no tienes acceso de escritura e insertar después un cambio en el repositorio, se creará una bifurcación automáticamente.

  1. En el menú File, haga clic en Clone Repository.

    Captura de pantalla de la barra de menús en un equipo Mac. El menú desplegable "Archivo" se expande y la opción "Clonar repositorio" está resaltada con un contorno naranja.

    Captura de pantalla de la barra de menús "Escritorio de GitHub" en un equipo Windows. El menú desplegable "Archivo" se expande y la opción "Clonar repositorio" está resaltada en naranja.

  2. Haz clic en la pestaña que corresponde a la ubicación del repositorio que deseas clonar. En este ejemplo, hacemos clic en la pestaña URL.

    Captura de pantalla de la pestaña "URL" de la ventana "Clone a repository". Las pestañas "GitHub.com", "GitHub Enterprise" y "URL" se resaltan en color naranja oscuro.

  3. Escribe la dirección URL o la ruta de acceso del repositorio que quieres clonar.

    Captura de pantalla de la pestaña "URL" de la ventana "Clone a repository". La entrada que contiene "octocat/Spoon-Knife" está resaltada con un contorno naranja.

  4. Para seleccionar el directorio local en el que quieres clonar el repositorio, junto al campo "Ruta de acceso local", haz clic en Elegir... y ve al directorio.

    Captura de pantalla de la pestaña "URL" de la ventana "Clone a repository". Un botón, con la etiqueta "Elegir", está resaltado con un contorno naranja.

  5. En la parte inferior de la ventana "Clonar un repositorio", haz clic en Clonar.

  6. Para crear una bifurcación, inserta un cambio en el repositorio. Por ejemplo, crea una rama y publícala. Aparecerá un mensaje en el que se te preguntará si quieres bifurcar el repositorio.

    Captura de pantalla de la ventana "Create a fork prompt". Botón con la etiqueta "Fork this repository" (Bifurcar este repositorio) resaltado con un contorno naranja.

  7. Lee la información en la ventana "¿Cómo planeas usar esta bifurcación?" .

    • Si planea usar esta bifurcación para contribuir con el repositorio ascendente original, haga clic en To contribute to the parent project (Para contribuir con el proyecto).
    • Si planea usar esta bifurcación para un proyecto que no esta conectado al elemento ascendente, haga clic en For my own purposes (Para mis propios propósitos).
  8. Haga clic en Continuar.

Clonar tu repositorio bifurcado

Ahora tienes un fork del repositorio Spoon-Knife, pero no tienes los archivos de ese repositorio en tu ordenador.

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

  2. Encima de la lista de archivos, haz clic en Code.

    Captura de pantalla de la lista de archivos en la página de aterrizaje de un repositorio. El botón "Código" está resaltado con un contorno naranja oscuro.

  3. Copia la dirección URL del repositorio.

    • Para clonar el repositorio mediante HTTPS, en "HTTPS", haga 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, haz clic en SSH y luego en .

    • Para clonar un repositorio mediante GitHub CLI, haz clic en GitHub CLI y, después, en .

      Captura de pantalla del menú desplegable "Código". A la derecha de la dirección URL HTTPS del repositorio, hay un icono de copia resaltado en naranja oscuro.

  4. Abre Terminal o Git Bash.

  5. Cambia el directorio de trabajo actual a la ubicación en donde quieres clonar el directorio.

  6. Escriba git cloney pegue la dirección URL que copió anteriormente. Tendrá este aspecto, con el GitHub nombre de usuario en lugar de YOUR-USERNAME:

    git clone https://github.com/YOUR-USERNAME/Spoon-Knife
    
  7. Presione ENTRAR. Git crea el 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.
    

Clonar tu repositorio bifurcado

Ahora tienes un fork del repositorio Spoon-Knife, pero no tienes los archivos de ese repositorio en tu ordenador.

Nota:

Para más información sobre GitHub CLI, consulta Acerca de GitHub CLI.

Para clonar tu bifurcación, usa la opción --clone.

gh repo fork REPOSITORY --clone=true

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

Cuando creas una bifurcación de un proyecto para proponer cambios en el repositorio original, puedes configurar Git para incorporar cambios desde el repositorio original al clon local de tu bifurcación.

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

  2. Encima de la lista de archivos, haz clic en Code.

    Captura de pantalla de la lista de archivos en la página de aterrizaje de un repositorio. El botón "Código" está resaltado con un contorno naranja oscuro.

  3. Copia la dirección URL del repositorio.

    • Para clonar el repositorio mediante HTTPS, en "HTTPS", haga 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, haz clic en SSH y luego en .

    • Para clonar un repositorio mediante GitHub CLI, haz clic en GitHub CLI y, después, en .

      Captura de pantalla del menú desplegable "Código". A la derecha de la dirección URL HTTPS del repositorio, hay un icono de copia resaltado en naranja oscuro.

  4. Abre Terminal o Git Bash.

  5. Cambie al directorio del fork que clonó.

    • 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 ...
  6. Escriba git remote -v y presione Entrar. Verás el repositorio remoto configurado actualmente para tu fork.

    $ git remote -v
    > origin  https://github.com/YOUR-USERNAME/YOUR-FORK.git (fetch)
    > origin  https://github.com/YOUR-USERNAME/YOUR-FORK.git (push)
    
  7. Escriba git remote add upstreamy pegue la dirección URL que copió en el paso 3 y presione Entrar. Tendrá este aspecto:

    git remote add upstream https://github.com/ORIGINAL-OWNER/Spoon-Knife.git
    
  8. Para comprobar el nuevo repositorio ascendente que especificó para la bifurcación, vuelva a escribir git remote -v . Deberías ver la URL de tu fork como origin y la URL del repositorio upstream 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 puede mantener su fork sincronizado con el repositorio original con unos pocos comandos de Git. Consulte Syncing a fork.

Nota:

Para más información sobre GitHub CLI, consulta 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 realizar cualquier cambio a una bifurcació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 desea volver a contribuir al repositorio ascendente, puede enviar una solicitud de incorporación de cambios para pedir al autor original que extraiga la bifurcación en su repositorio. Consulte Creating a pull request from a fork.

Busca otro repositorio para hacer un fork

Haz un fork de un repositorio para comenzar a contribuir a un proyecto. Puedes bifurcar un repositorio privado o interno a tu cuenta personal o a una organización en GitHub donde tengas permisos para crear repositorios, siempre que la configuración del repositorio y las directivas de tu empresa permitan la bifurcación.

Por lo general, puedes bifurcar cualquier repositorio público en tu cuenta personal o en una organización en la que tengas permisos para crear repositorios, a menos que seas miembro de un empresa con usuarios administrados.

Para obtener más información sobre cuándo puede bifurcar un repositorio, consulte Horquillas.

Puedes explorar Explore GitHub para encontrar proyectos y empezar a contribuir a repositorios de código abierto. Consulte Búsqueda de formas de contribuir a la open source 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 el uso de Git en la línea de comandos para clonar y sincronizar los cambios, consulte Configuración de Git.

  • También puede crear un repositorio para almacenar los 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 más información, consulta Inicio rápido para repositorios.

  • Cada repositorio de GitHub es propiedad de una persona o una organización. Puede interactuar con las personas, los repositorios y las organizaciones mediante la conexión y el seguimiento de ellos en GitHub. Para más información, consulta Detección de proyectos en GitHub.

  • 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.