Git branch suppression
Dans Git, ce qui signifie la "suppression" d'une branche veux dire?
Qu'il sera passé à partir du référentiel? Ou encore navigable via git branch
?
Ce que je veux vraiment faire est de marquer une branche "dead end", c'est à dire, la branche est si loin de maître, que personne ne devrait l'utiliser comme un point de départ, mais il y avait quelques bonnes idées à cette branche, alors nous aimerions le garder pour référence.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez supprimer la branche, mais le tag de la première, de sorte que c'est de l'histoire ne disparaît pas. De cette façon, la direction générale ne s'affiche pas dans la liste des branches, ce qui devrait dissuader les gens de travail, mais le travail ne sera pas effacé de façon permanente (même après la collecte des ordures est exécutée). Par exemple, chaque fois que j'ai une branche qui est devenu hors de propos, mais je ne suis pas prêt à le supprimer définitivement, je balise comme "archive/<branche-nom>".
Tout sur
master
ou l'autre direction:Cela crée une balise nommée
archive/foo
de lafoo
branche avant de supprimerfoo
. Vous pouvez également ajouter un message à l'étiquette, qui explique ce qu'est dans la branche, pourquoi il existe, pourquoi c'est maintenant une impasse, etc.La capacité d'enregistrer pourquoi une branche est déprécié est peut-être un avantage de marquage rapport au déplacement de branches, à un autre espace de noms.
Si jamais vous avez besoin de ressusciter une branche qui a été archivée de cette façon, c'est aussi simple que:
Maintenant la branche est de retour, comme si il n'a jamais été supprimé.
--tags
option pourgit push
), puis la suppression de la branche à distance (à l'aide de la:<branch-to-delete>
refspec tout en poussant). Par exemple:git tag archive/foo foo; git branch -D foo; git push --tags origin :foo
Branches Git sont stockées comme des références à une révision. Si vous supprimez la direction générale, la référence est supprimée, si rien d'autre références de cette révision, il sera finalement ordures collectées. Aussi, si vous supprimez la branche puis c'est parti (à partir de votre dépôt). Si vous voulez marquer une branche comme obsolète, mais le garder pour une utilisation ultérieure, vous pouvez déplacer la branche dans un sous-répertoire:
Sinon, vous pouvez créer un référentiel pour obsolète branches, les tirer à travers les supprimer à partir de l'original. Dans les deux cas, vous allez affecter tous les utilisateurs qui suivent les branches -- le contenu de leur dépôt ne changent pas (ni aucun de leurs noms de branche), mais si ils essaient de tirer à nouveau, ils devront changer leur cible dans leur configuration.
git branch -D <branchName>
supprimer votre branche à partir du référentiel. Vous ne serez pas en mesure de le voir ou de naviguer plus. Aussi, vous perdrez toutes les modifications de fichier faites dans cette branche.https://git-scm.com/docs/git-branch
Il ne sera pas navigable via git branch et jusqu'à ce que la collecte des ordures est effectué, il ne sera pas perdu à partir du référentiel.
Si vous voulez marquer la branche en question comme un mort de fin puis il suffit de le faire (git ne peut pas le faire pour vous, mais vous pouvez certainement)!
L'étiquetage (comme vous préférez) comme l'un des ouvrages de référence historiques.