Skip to main content

Synchronisation d’une duplication

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

Qui peut utiliser cette fonctionnalité ?

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

Platform navigation

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

  1. Sur GitHub Enterprise Cloud, accédez à la page principale du dépôt dupliqué que vous souhaitez synchroniser avec le dépôt en amont.

  2. Au-dessus de la liste des fichiers, sélectionnez le menu déroulant Synchroniser la duplication.

    Capture d’écran de la page principale d’une duplication. Un menu déroulant avec une icône de synchronisation et « Synchroniser la duplication » est indiqué en orange foncé.

  3. Examinez les détails des validations à partir du référentiel en amont, puis cliquez sur Mettre à jour la branche.

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 plus d’informations 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://github.com/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 GitHub.com, vous devez pousser (push) vos modifications.