# Sincronizar una bifurcación

Sincronice un repositorio bifurcada con su repositorio ascendente mediante la interfaz web, GitHub CLI o línea de comandos.

## Sincronización de un fork desde la UI web

1. En GitHub, vaya a la página principal del repositorio bifurcada que desea sincronizar con el repositorio ascendente.
2. Encima de la lista de archivos, seleccione el menú desplegable **Sincronización del fork**.

   ![Captura de pantalla de la página principal de una bifurcación. Un menú desplegable, etiquetado con un icono de sincronización y "Sync fork", está delineado en naranja oscuro.](/assets/images/help/repository/sync-fork-dropdown.png)
3. Revisa los detalles sobre las confirmaciones del repositorio ascendente y, a continuación, haz clic en **Actualizar rama**.

Si los cambios del repositorio ascendente provocan conflictos, GitHub se le pedirá que cree una solicitud de incorporación de cambios para resolver los conflictos.

## Sincronización de una rama de bifurcación 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, consulte [Acerca de GitHub CLI](/es/enterprise-server@3.22/github-cli/github-cli/about-github-cli).

Para actualizar la bifurcación remota a partir de su elemento primario, utilice el subcomando `gh repo sync -b BRANCH-NAME` y proporcione el nombre de su bifurcación y de la rama como argumentos.

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

Si los cambios del repositorio ascendente provocan conflictos, GitHub CLI no se puede sincronizar. Para sobrescribir la rama de destino, use la `--force` marca .

## Sincronización de una rama bifurcada 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. Consulte [Configuración de un repositorio remoto para una bifurcación](/es/enterprise-server@3.22/pull-requests/how-tos/work-with-forks/configuring-a-remote-repository-for-a-fork).

1. Abre Terminal o Git Bash.

2. Cambia el directorio de trabajo actual al de 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`.

   ```shell
   $ 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. Consulte la rama predeterminada local de la bifurcación. En este ejemplo, usamos `main`.

   ```shell
   $ git checkout main
   > Switched to branch 'main'
   ```

5. Combine los cambios de la rama predeterminada ascendente en la rama predeterminada local. En este ejemplo, la rama predeterminada ascendente es `upstream/main`. Esto sincroniza la rama predeterminada de la bifurcación con el repositorio ascendente sin perder los cambios locales.

   ```shell
   $ 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 tuvo ningún commit único, Git ejecutará un avance rápido. Consulte [Bifurcación básica y combinación](https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging) en la documentación de Git.

   ```shell
   $ 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. Consulte [Combinar y cerrar pull requests](/es/enterprise-server@3.22/pull-requests/how-tos/merge-and-close-pull-requests).

> \[!TIP]
> Al sincronizar tu bifurcación, solo actualiza la copia local del repositorio. Para actualizar la bifurcación en tu instancia de GitHub Enterprise Server, debe [insertar los cambios](/es/enterprise-server@3.22/get-started/using-git/pushing-commits-to-a-remote-repository).