Passer au contenu principal

Git town 🏙️

Git town est un outil pour simplifier l'utilisation de Git CLI, permettant de garder facilement toutes ses branches à jour, même lorsqu'on a une arborescence de branches complexe.

Créer une branche

Le première commande a connaître est celle qui permet de créer une nouvelle branche : hack

git town hack 'feature/my-feature'

Git town va d'abord fetch les derniers changements du repository, puis mettre à jour la branche main, avant de créer la branche de feature à partir de main. De cette façon, on est sûr d'avoir une branche de feature à jour avec la dernière version de main.

Publier sa branche

Une fois que j'ai fini et commité le travail sur ma branche, je peux publier celle-ci et ouvrir une pull request grâce à une simple commande : propose

git town propose

Avant de pousser la branche locale, git town va mettre à jour la branche parente locale (main par exemple) et rebase la branche de feature sur celle-ci. Ensuite, il push la branche et ouvre directement un onglet de navigateur sur la page de création d'une PR. Plus qu'à mettre à jour le titre/la description et valider !

Créer une branche enfant

En ma plaçant sur la branche dont je veux créer un enfant, je peux le faire simplement avec append

git town append 'feature/children-feature'

Encore une fois, git town va mettre à jour toutes les branches parentes avant de créer la nouvelle.

Mettre à jour sa branche

Si j'ai besoin de pull ou push des changements de ma branche, je peux le faire très simplement avec sync

git town sync

Git town va mettre à jour toutes les branches parentes, puis la branche actuelle, puis pousser la branche locale. S'il y a des modifications non commitées, il effectue un stash avant toute chose, puis un pop en dernière étape, de façon à reprendre facilement de là où on en était.

Autre informations

Il faut penser à configurer la stratégie désirée pour la mise à jour des branches (merge ou rebase). Il faudra indiquer quelle est la branche main sur le repo lors de la première utilisation.

En cas de conflit lors d'une opération, git town s'interrompt. Il suffit alors de résoudre les conflits et de taper la commande git town continue

Liens utiles : Documentation officielle | Github