web-dev-qa-db-fra.com

Que faire avec branche après fusion

J'avais deux branches: master et branch1. Je viens de fusionner branch1 dans master et j'en ai terminé avec cette branche. Dois-je le supprimer ou juste le laisser rester? La supprimer entraînera-t-il une perte de données?

288
Alison

Après la fusion, vous pouvez supprimer la branche en toute sécurité:

git branch -d branch1

De plus, git vous préviendra (et refusera de supprimer la branche) s’il pense que vous ne l’avez pas encore 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 commits non fusionnés (voir ci-dessous).

Cependant, il y a quelques raisons de garder une succursale. Par exemple, s’il s’agit d’une branche de fonctionnalité, vous pouvez vouloir pouvoir corriger les corrections de bugs sur cette fonctionnalité tout en restant dans cette branche.

Si vous souhaitez également supprimer la branche sur un hôte distant, vous pouvez effectuer les opérations suivantes:

git Push Origin :branch1

Cela supprimera de force la branche sur la télécommande (cela n'affectera pas les dépôts déjà extraits et n'empêchera pas les personnes disposant d'un accès Push de la repousser ou de la créer).


git reflog affiche les révisions récemment extraites. Toutes les branches que vous avez extraites dans l'historique des référentiels récents seront également affichées. En plus de cela, git fsck sera l'outil de choix dans tous les cas de commit-loss in git.

360
Jonas Schäfer

Toutes mes branches sont nommées sous la forme Fix/fix-<somedescription> ou Ftr/ftr-<somedescription> etc. En utilisant Tower comme frontal git, il organise proprement tous les Ftr/, Fix/, Test/ etc. dans des dossiers. Une fois que j'ai terminé avec une branche, je les ai renommés en Done/...-<description>. Ainsi, 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.). )

22
Yohst