É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
.