J'avais deux branches: master
et branch1
. Je viens fusionné de branch1
nouveau dans master
et je suis fait avec cette branche. Dois-je le supprimer ou le laisser reposer? La suppression entraînera-t-elle une perte de données?
J'avais deux branches: master
et branch1
. Je viens fusionné de branch1
nouveau dans master
et je suis fait avec cette branche. Dois-je le supprimer ou le laisser reposer? La suppression entraînera-t-elle une perte de données?
Réponses:
Après la fusion, vous pouvez supprimer la branche en toute sécurité:
git branch -d branch1
De plus, git vous avertira (et refusera de supprimer la branche) s'il pense que vous ne l'avez pas encore complètement fusionnée. Si vous supprimez de force une branche (avec git branch -D
) qui n'est pas encore complètement fusionnée, vous devez faire quelques astuces pour récupérer les validations non fusionnées (voir ci-dessous).
Il y a cependant quelques raisons de garder une succursale. Par exemple, s'il s'agit d'une branche de fonctionnalité, vous souhaiterez peut-être être en mesure de corriger des bogues sur cette fonctionnalité toujours à l'intérieur de cette branche.
Si vous souhaitez également supprimer la branche sur un hôte distant, vous pouvez faire:
git push origin :branch1
Cela supprimera de force la branche sur la télécommande (cela n'affectera cependant pas les référentiels déjà extraits et n'empêchera personne ayant un accès push de la repousser / créer).
git reflog
affiche les révisions récemment extraites. Toute branche que vous avez vérifiée dans l'historique récent du référentiel y apparaîtra également. En dehors de cela, git fsck
sera l'outil de choix dans tous les cas de perte de validation dans git.
git checkout master && git merge branch1 && git push origin branch1 && git branch -d branch1
Je préfère RENOMMER plutôt que SUPPRIMER
Toutes mes succursales sont nommées sous la forme de
Fix/fix-<somedescription>
ou Ftr/ftr-<somedescription>
ou En utilisant la tour comme mon extrémité avant git, il organise soigneusement tous les Ftr/
, Fix/
, Test/
etc. dans des dossiers.
Une fois que je suis fait avec une branche, je renomme qu'ilsDone/...-<description>
.
De cette façon, ils sont toujours là (ce qui peut être utile pour fournir l'historique) et je peux toujours revenir en arrière en sachant ce que c'était (fonctionnalité, correction, test, etc.)
Si vous voulez continuer et SUPPRIMER la branche après l'avoir fusionnée.
Il suffit de prendre soin de
toutes les références d'hyperliens URL de vos branches SUPPRIMÉES , seront CASSÉES .