Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.
GitHub AE is currently under limited release.

Synchronisation d’une duplication

Synchronisez une duplication d’un référentiel pour la maintenir à jour avec le référentiel en amont.

Who can use this feature

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

Synchronisation d’une branche de duplication à partir de l’interface utilisateur web

  1. Sur GitHub AE, accédez à la page principale du dépôt dupliqué que vous souhaitez synchroniser avec le dépôt en amont.
  2. Sélectionnez la liste déroulante Récupérer en amont. Liste déroulante « Extraire en amont »
  3. Examinez les détails des validations à partir du dépôt en amont, puis cliquez sur Extraire et fusionner. Bouton « Extraire et fusionner »

Si les modifications du dépôt en amont provoquent des conflits,GitHub vous invitera à créer une demande de tirage pour résoudre les conflits.

Synchronisation d’une branche de duplication avec GitHub CLI

GitHub CLI est un outil open source permettant d’utiliser GitHub à partir de la ligne de commande de votre ordinateur. Lorsque vous travaillez à partir de la ligne de commande, vous pouvez utiliser l’GitHub CLI pour gagner du temps et éviter de changer de contexte. Pour en savoir plus sur GitHub CLI, consultez « À propos de GitHub CLI ».

Pour mettre à jour la duplication distante à partir de son parent, utilisez la sous-commande gh repo sync -b BRANCHNAME et fournissez le nom de votre duplication et de votre branche comme des arguments.

$ gh repo sync owner/cli-fork -b BRANCH_NAME

Si les modifications du dépôt en amont provoquent un conflit, l’GitHub CLI ne peut pas se synchroniser. Vous pouvez définir l’indicateur -force pour remplacer la branche de destination.

Synchronisation d’une duplication de branche à partir de la ligne de commande

Avant de pouvoir synchroniser votre duplication avec un référentiel en amont, vous devez configurer un élément distant qui pointe vers le référentiel en amont dans Git. Pour plus d’informations, consultez « Configuration d’un dépôt distant pour une duplication ».

  1. Ouvrez TerminalTerminalGit Bash.

  2. Remplacez le répertoire de travail actuel par votre projet local.

  3. Extrayez les branches et leurs validations respectives du dépôt en amont. Les validations dans BRANCHNAME seront stockées dans la branche locale upstream/BRANCHNAME.

    $ 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. Vérifiez la branche locale par défaut de votre duplication. Dans ce cas, nous utilisons main.

    $ git checkout main
    > Switched to branch 'main'
  5. Fusionnez les modifications de la branche par défaut en amont (dans ce cas, upstream/main) dans votre branche locale par défaut. Cela synchronise la branche par défaut de votre duplication avec le dépôt en amont, sans perte de vos modifications 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 votre branche locale n’a pas de validation unique, Git effectue un transfert rapide. Pour plus d’informations, consultez Création de branches et fusion dans la documentation Git.

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

    Si votre branche locale avait des validations uniques, vous devrez peut-être résoudre les conflits. Pour plus d’informations, consultez « Traitement des conflits de fusion ».

Astuce : la synchronisation de votre duplication met uniquement à jour votre copie locale du dépôt. Pour mettre à jour votre duplication sur your enterprise, vous devez pousser (push) vos modifications.