J'utilise git avec git flow. Ici, git flow a une branche develop
. Chaque fois que j'ai besoin de démarrer la fonctionnalité, je tape
git flow feature start new
une nouvelle branche feature/new
est créé. Ensuite, je fais les changements et commettre les utilisant
git Push Origin feature/new
Après avoir validé les modifications, je termine la fonction en utilisant
git flow feature finish new
il supprimefeature/new
branche localement. Maintenant je suis commuté pour développer une branche par git flow et je tape à nouveau
git Push Origin develop
qui apportent des modifications à la branche du serveur distant develop
Si je tape git branch -a
, la nouvelle branche a été supprimée du local mais elle est là sur le serveur avec le nom remotes/Origin/feature/new
Git flow supprime-t-il des branches sur un serveur distant qui sont supprimés sur ma machine locale?
Veuillez me dire si je fais une erreur.
En regardant le source il semble que la branche de fonctionnalité distante ne soit supprimée que si vous appelez git flow feature finish
avec -F
.
Cependant, cela récupère la télécommande avant de terminer la fonctionnalité. De la docs :
- F récupérer à partir de $ Origin avant d'effectuer la finition
Sinon, vous pouvez supprimer la branche distante manuellement avec:
git Push Origin :feature/new
Puis-je suggérer d'utiliser l'édition git-flow AVH.
Comme Stefan l'a dit, la version originale ne supprime la branche distante que lorsque vous utilisez -F
, ce qui est un peu étrange. L'édition AVH corrige ce comportement original, elle supprimera toujours la branche de fonctionnalité locale et distante à la fin, sauf si vous spécifiez
--keep
, qui conserve le local et le distant.--keeplocal
, qui conserve le local, mais supprime le distant.--keepremote
, qui conserve la télécommande, mais supprime le local.Vous pouvez trouver git-flow AVH Edition sur github .
Ce que je devais faire:
git flow feature delete -f name_feature
Le -f est nécessaire s'il y a des changements à l'intérieur de la branche de fonctionnalité.
git Push Origin --delete feature/name_feature
Cela permet également de supprimer la branche distante.