Élaguer les branches distantes dans Git

Stewart Nguyen 6 février 2022
Élaguer les branches distantes dans Git

Cet article montrera comment élaguer (nettoyer) les branches de suivi à distance supprimées dans les référentiels distants.

Par exemple, Alice et Bob travaillent sur une branche feature/shared-branch. Bob crée une pull request, fusionne feature/shared-branch, et la supprime.

Elle exécute git pull origin feature/shared-branch du côté d’Alice.

$ git branch -a
* feature/shared-branch
  main
  remotes/origin/feature/shared-branch
  remotes/origin/main
$ git pull origin feature/shared-branch
fatal: couldn't find remote ref feature/shared-branch

Bien que remotes/origin/feature/shared-branch apparaisse sous git branch -a, l’exécution de git pull origin feature/shared-branch déclenchera toujours une erreur car feature/shared-branch a déjà été supprimé dans le dépôt distant.

Pour pallier au problème, Alice devrait nettoyer la référence de feature/shared-branch, c’est remotes/origin/feature/shared-branch. Elle pourrait lancer git remote prune origin.

$ git remote prune origin
Pruning origin
URL: git@github.com:stwarts/git-demo.git
 * [pruned] origin/feature/shared-branch

git remote prune origin effectue une vérification. Les branches de suivi à distance qui n’existent pas dans le référentiel distant seront supprimées.

feature/shared-branch a été supprimé par Bob. Ses branches de suivi à distance remotes/origin/feature/shared-branch seront supprimées sur la machine d’Alice après qu’elle ait exécuté git remote prune origin.

Article connexe - Git Prune