Disons que j'avais une branche nommée coolbranch
dans mon référentiel.
Maintenant, j'ai décidé de le supprimer (à distance et localement) avec:
git push origin :coolbranch
git branch -D coolbranch
Génial! Maintenant, la branche est vraiment supprimée.
Mais quand je cours
git branch -a
Je reçois toujours:
remotes/origin/coolbranch
Quelque chose à noter, c'est que lorsque je clone un nouveau référentiel, tout va bien et git branch -a
n'affiche pas la branche.
Je veux savoir - existe-t-il un moyen de supprimer la branche de la branch -a
liste sans cloner une nouvelle instance?
git
git-branch
yonix
la source
la source
git fetch -p
(ougit pull -p
) les branches distantes seront élaguées.Réponses:
git remote prune origin
, comme suggéré dans l'autre réponse, supprimera toutes ces branches périmées. C'est probablement ce que vous voudriez dans la plupart des cas, mais si vous souhaitez simplement supprimer cette branche de suivi à distance particulière, vous devez faire:(Il
-r
est facile d'oublier ...)-r
dans ce cas, "Liste ou supprime (si utilisé avec-d
) les branches de suivi à distance". selon la documentation Git trouvée ici: https://git-scm.com/docs/git-branchla source
git remote prune origin
ou toute forme degit fetch --prune
signalement n'a pas fonctionné pour moi dans mon cas. ... Maisgit branch -d -r origin/feature/branch-name
ça a marché. Je ne sais pas si cela avait quelque chose à voir avec le fait qu'il soit sous l'feature
espace de noms (git flow) mais c'est comme ça que ça s'est passé, au cas où des googleurs trouveraient que cela leur arrive.Essayer:
Dans la documentation distante de Git :
prune
la source
git pull --prune
mentionné sur stackoverflow.com/a/17983126/94687 Et:git remote update --prune
N'oubliez pas le génial
qui va chercher et tailler toutes les origines.
la source
git remote prune origin
et similaire à celuigit pull --prune
mentionné sur stackoverflow.com/a/6127884/94687 et stackoverflow.com/a/17983126/94687 respectivement. Et:git remote update --prune
git branch -a
git branch -a
Dans notre cas particulier, nous utilisons Stash comme référentiel Git distant. Nous avons essayé toutes les réponses précédentes et rien ne fonctionnait. Nous avons fini par devoir faire ce qui suit:
Ensuite, lorsque les utilisateurs sont allés retirer des modifications, ils devaient effectuer les opérations suivantes:
la source
git branch -d branch-name
travaillé pour moi. Avis-D
à-d
. En fait, lorsque j'ai essayé avec les majuscules D,-D
il a créé une nouvelle branche avec le nom -DUtilisation:
Où se
<remote>
trouve un nom de source distante comme origine ou en amont .Exemple:
git remote prune origin
la source
git remote prune
,git prune
,git fetch --prune
.