Synchronisation d’une branche de duplication à partir de l’interface utilisateur web
-
Sur GitHub Enterprise Server, accédez à la page principale du dépôt dupliqué que vous souhaitez synchroniser avec le dépôt en amont.
-
Au-dessus de la liste des fichiers, sélectionnez le menu déroulant Synchroniser la duplication.
-
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 ».
-
Ouvrez TerminalTerminalGit Bash.
-
Remplacez le répertoire de travail actuel par votre projet local.
-
Extrayez les branches et leurs validations respectives du dépôt en amont. Les validations dans
BRANCHNAME
seront stockées dans la branche localeupstream/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
-
Vérifiez la branche locale par défaut de votre duplication. Dans ce cas, nous utilisons
main
.$ git checkout main > Switched to branch 'main'
-
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 votre instance GitHub Enterprise Server, vous devez pousser (push) vos modifications.