Voici quelques-direction des conventions de nommage que j'utilise et les raisons de leur
Direction générale des conventions de nommage
- Utilisez le groupement des tokens (mots) au début de vos noms de branche.
- Définir et utiliser des jetons en plomb pour différencier les branches de façon significative à votre flux de travail.
- Utiliser des barres obliques pour séparer les parties de vos noms de branche.
- Ne pas utiliser les numéros nus comme des plus grands.
- Éviter les longs noms descriptifs pour longue durée de vie des branches.
Groupe de jetons
L'utilisation de "groupement" jetons en face de vos noms de branche.
group1/foo
group2/foo
group1/bar
group2/bar
group3/bar
group1/baz
Les groupes peuvent être nommée ce que vous voulez pour correspondre à votre flux de travail. J'aime utiliser des noms pour le mien. Lire la suite pour plus de clarté.
Court bien défini de jetons
Choisissez court de jetons afin de ne pas ajouter trop de bruit pour chacun de vos noms de branche. J'utilise ces:
wip Works in progress; stuff I know won't be finished soon
feat Feature I'm adding or expanding
bug Bug fix or experiment
junk Throwaway branch created to experiment
Chacun de ces jetons peuvent être utilisés pour vous dire à quelle partie de votre flux de production de chaque branche appartient.
Il semble que vous avez plusieurs branches pour les différents cycles de changement. Je ne sais pas ce que vos cycles sont, mais admettons qu'ils sont "nouveaux", "testing" et "vérifiée". Vous pouvez nommer vos branches avec des versions abrégées de ces balises, toujours orthographié de la même façon, à la fois du groupe et de vous rappeler à quel stade vous êtes dans.
new/frabnotz
new/foo
new/bar
test/foo
test/frabnotz
ver/foo
Vous pouvez savoir rapidement branches qui ont atteint chaque étape, et vous pouvez les regrouper facilement à l'aide de Git du modèle options de correspondance.
$ git branch --list "test/*"
test/foo
test/frabnotz
$ git branch --list "*/foo"
new/foo
test/foo
ver/foo
$ gitk --branches="*/foo"
Utiliser des barres obliques pour séparer les parties
Vous pouvez utiliser la plupart un délimiteur vous comme dans les noms de branche, mais je trouve que des barres obliques pour être le plus flexible. Vous préférerez peut-être utiliser des tirets ou des points. Mais les slashes vous permettent de faire certains de la branche de renommer en poussant ou chercher à/à partir d'une télécommande.
$ git push origin 'refs/heads/feature/*:refs/heads/phord/feat/*'
$ git push origin 'refs/heads/bug/*:refs/heads/review/bugfix/*'
Pour moi, les barres obliques également mieux travailler pour l'onglet d'extension (fin de commande) dans ma coquille. La façon dont je l'ai configuré je peux rechercher les branches avec des sous-parties en tapant les premiers caractères de la partie et en appuyant sur la touche de TABULATION. Zsh, puis me donne une liste des branches, qui correspondent à la partie du jeton que j'ai tapé. Cela fonctionne pour les précédentes jetons ainsi que ceux intégrés.
$ git checkout new<TAB>
Menu: new/frabnotz new/foo new/bar
$ git checkout foo<TAB>
Menu: new/foo test/foo ver/foo
(Zshell est très configurable sur d'achèvement de commande et j'ai pu également le configurer pour gérer des tirets, des traits de soulignement ou de points de la même façon. Mais je choisis de ne pas.)
Il vous permet également de rechercher des succursales dans de nombreux commandes git, comme ceci:
git branch --list "feature/*"
git log --graph --oneline --decorate --branches="feature/*"
gitk --branches="feature/*"
Avertissement: Comme Slipp points dans les commentaires, les barres obliques peuvent causer des problèmes. Parce que les branches sont mises en œuvre comme des chemins, vous ne pouvez pas avoir une branche nommée "toto" et une autre branche nommée "foo/bar". Cela peut être déroutant pour les nouveaux utilisateurs.
Ne pas utiliser les numéros nus
Ne pas utiliser des numéros nus (ou les nombres hexadécimaux) dans le cadre de votre branche schéma de nommage. À l'intérieur de l'onglet d'extension d'un nom de référence, git peut décider qu'un nombre est partie d'un sha-1 au lieu d'un nom de branche. Par exemple, mon problème de tracker les noms de bugs avec des nombres décimaux. J'ai le nom de mon liée branches CRnnnnn plutôt que de simplement nnnnn pour éviter la confusion.
$ git checkout CR15032<TAB>
Menu: fix/CR15032 test/CR15032
Si j'ai essayé de développer juste 15032, git serait pas si je voulais de recherche SHA-1 ou d'une branche noms, et mon choix serait un peu limité.
Éviter les longs noms descriptifs
Longtemps les noms de branche peut être très utile lorsque vous êtes à la recherche à une liste de branches. Mais il peut obtenir de la manière quand on regarde décorée d'une ligne de journaux comme les noms de branche peut consommer jusqu'à plus de la ligne et d'abréger la partie visible du journal.
D'autre part longtemps les noms de branche peut être plus utile dans la "fusion s'engage" si vous ne faites pas habituellement de les réécrire à la main. La fusion par défaut message de commit est - Merge branch 'branch-name'
. Vous pouvez trouver qu'il est plus utile de fusionner les messages apparaissent comme des Merge branch 'fix/CR15032/crash-when-unformatted-disk-inserted'
au lieu de simplement en Merge branch 'fix/CR15032'
.