Skip to main content

Sincronizar una bifurcación

Sincronizar una bifurcación de un repositorio para mantenerla actualizada con el repositorio ascendente.

¿Quién puede utilizar esta característica?

People with write access for a forked repository can sync the fork to the upstream repository.

Platform navigation

Sincronización de una bifurcación desde la IU web

  1. En GitHub Enterprise Server, navega a la página principal del repositorio bifurcado que quieras sincronizar en el repositorio de nivel superior.

  2. Encima de la lista de archivos, seleccione el menú desplegable Sincronizar bifurcación.

    Captura de pantalla de la página principal de una bifurcación. Un menú desplegable, etiquetado con un icono de sincronización y "Sincronizar bifurcación", está resaltado en naranja oscuro.

  3. Revisa los detalles sobre las confirmaciones del repositorio ascendente y, a continuación, haz clic en Actualizar rama.

Si los cambios del repositorio de nivel superior ocasionan conflictos, GitHub te pedirá crear una solicitud de cambios para resolver los conflictos.

Sincronización de una bifurcación de rama con GitHub CLI

GitHub CLI es una herramienta de código abierto para usar GitHub desde la línea de comandos del equipo. Cuando trabajas desde la línea de comandos, puedes utilizar el GitHub CLI para ahorrar tiempo y evitar cambiar de contexto. Para más información sobre GitHub CLI, consulta "Acerca del CLI de GitHub".

Para actualizar la bifurcación remota desde su elemento primario, usa el subcomando gh repo sync -b BRANCH-NAME y proporciona el nombre de la bifurcación y la rama como argumentos.

gh repo sync owner/cli-fork -b BRANCH-NAME

Si los cambios del repositorio ascendente provocan un conflicto, la GitHub CLI no se podrá sincronizar. Puede establecer la marca --force para sobrescribir la rama de destino.

Sincronización de una bifurcación de rama desde la línea de comandos

Para poder sincronizar la bifurcación con un repositorio ascendente, debes configurar un repositorio remoto que apunte al repositorio ascendente en Git. Para obtener más información, vea «Configuración de un repositorio remoto para una bifurcación».

  1. Abra TerminalTerminalGit Bash.

  2. Cambiar el directorio de trabajo actual en tu proyecto local.

  3. Extrae las ramas y sus respectivas confirmaciones desde el repositorio ascendente. Las confirmaciones en BRANCH-NAME se almacenarán en la rama local upstream/BRANCH-NAME.

    $ git fetch upstream
    > remote: Counting objects: 75, done.
    > remote: Compressing objects: 100% (53/53), done.
    > remote: Total 62 (delta 27), reused 44 (delta 9)
    > Unpacking objects: 100% (62/62), done.
    > From https://HOSTNAME/ORIGINAL-OWNER/ORIGINAL-REPOSITORY
    >  * [new branch]      main     -> upstream/main
    
  4. Revise la rama predeterminada local de la bifurcación; en este caso, utilizamos main.

    $ git checkout main
    > Switched to branch 'main'
    
  5. Combine los cambios de la rama predeterminada ascendente (en este caso, upstream/main) en la rama predeterminada local. Esto hace que la rama predeterminada de tu bifurcación se sincronice con el repositorio ascendente sin perder tus cambios locales.

    $ git merge upstream/main
    > Updating a422352..5fdff0f
    > Fast-forward
    >  README                    |    9 -------
    >  README.md                 |    7 ++++++
    >  2 files changed, 7 insertions(+), 9 deletions(-)
    >  delete mode 100644 README
    >  create mode 100644 README.md
    

    Si la rama local no tiene ninguna confirmación única, Git realizará un avance rápido. Para obtener más información, consulta Bifurcación y combinación básicas en la documentación de Git.

    $ git merge upstream/main
    > Updating 34e91da..16c56ad
    > Fast-forward
    >  README.md                 |    5 +++--
    >  1 file changed, 3 insertions(+), 2 deletions(-)
    

    Si la rama local tenía confirmaciones únicas, es posible que tengas que resolver conflictos. Para obtener más información, vea «Cómo abordar los conflictos de combinación».

Tip

Con la sincronización de la bifurcación solo se actualiza la copia local del repositorio. Para actualizar la bifurcación en tu instancia de GitHub Enterprise Server, debes enviar los cambios.