Existe-t-il un moyen dans Git d'avoir une «description» pour les branches?
Pendant que j'essaie d'utiliser des noms descriptifs, travailler pendant un certain temps sur une seule branche atténue parfois ma mémoire des raisons pour lesquelles j'ai créé certaines des autres branches de sujet. J'essaie d'utiliser des noms descriptifs pour les branches, mais je pense qu'une «description» (brève note sur le but de la branche) serait bien.
git
branch
task-tracking
Noufal Ibrahim
la source
la source
Réponses:
Git 1.7.9 prend cela en charge. À partir des notes de version 1.7.9 :
Vous pouvez voir cette fonctionnalité introduite en septembre 2011, avec les validations 6f9a332 , 739453a3 , b7200e8 :
Notez que cela ne fonctionnera pas pour une branche HEAD détachée.
Cette description est utilisée par le script request-pull: voir commit c016814783 , mais aussi
git merge --log
.[De @AchalDave] Malheureusement, vous ne pouvez pas pousser les descriptions car elles sont stockées dans votre configuration, ce qui la rend inutile pour documenter les branches d'une équipe.
la source
git config branch.topic.description
pour afficher la description de la branchetopic
. Il est stocké dans le.git/config
fichier.git branch
montrait les descriptions dans la liste ...Si vous finissez par utiliser le README, créez un alias git en le modifiant
git checkout
pour que votre README s'affiche à chaque fois que vous changez de branche.Par exemple, ajoutez ceci dans ~ / .gitconfig, sous [alias]
Après cela, vous pouvez exécuter
git cor <branch_name>
pour changer de branche et afficher le fichier README de la branche vers laquelle vous passez.la source
1.7.11-msysgit.1
). J'utilise 0 $ à la place. Et tout va bien.sh -c
"; par exemple,.alias = "!f() { git checkout "${1}" && cat README.md; }; f"
(crochets et guillemets inutiles dans ce cas, juste inclus pour être complets au cas où ils seraient nécessaires pour quelque chose de plus compliqué.)~/.gitconfig
, sous[alias]
, et le nom de l'alias est en fait (et c'est compréhensible de façon confuse)alias
depuis ma configuration actuelle (j'aurais dû le renommercor
pour que cet exemple soit cohérent). Monalias
alias actuel est:alias = "!f() { git config --get-regexp "^alias.${1}$" ; }; f"
Utilisation:git alias {alias_name}
ougit alias {alias_regexp}
. Analogue à laalias
commande bash , par exemple,$ alias ll
donne (pour moi)alias ll='ls -l'
:; et les$ git alias br
rendements:alias.br branch -v --list
(pourrait aussi utiliser:$ git alias 'b.*'
)Utilisez
git branch --edit-description
pour définir ou modifier une description de branche.Voici une fonction shell pour afficher des branches similaires
git branch
mais avec des descriptions en annexe.Voici à quoi cela
gb
ressemble, affiché ici sous forme de texte au cas où l'image pourrirait:Et comme une image, vous pouvez donc voir les couleurs:
la source
Le
README
suggéré par Chris J peut fonctionner, à condition qu'il soit configuré avec un pilote de fusion personnalisé défini dans a.gitattribute
.De cette façon, la version locale de la
README
est toujours conservée lors des fusions.La "description" des branches est également connue sous le nom de "commentaire" associé à ces métadonnées, et elle n'est pas prise en charge.
Au moins, avec un
README
fichier, vous pouvez, pour n'importe quelle branche, faire:Si votre fichier README se trouve dans le répertoire racine de votre REPO, il fonctionnera à partir de n'importe quel chemin, car le chemin utilisé par
git show
est un chemin absolu du répertoire supérieur dudit référentiel.la source
.gitattributes
fichier dans votre référentiel, donc non, cela fonctionnerait pour tout le monde. Malheureusement, cela ne semble pas fonctionner lors de la fusion via certaines interfaces Web, par exemple lors de l'utilisation de demandes d'extraction dans Azure DevOps.Il y a deux suggestions populaires ici:
git branch --edit-description
: Nous n'aimons pas cela parce que vous ne pouvez pas le pousser. Peut-être que je peux me souvenir de ce que font les branches que j'ai créées, mais mon équipe ne le peut certainement pas.README
fichier pr. branche. C'est une douleur pendant les fusions: super-enclin à fusionner les conflits et nous tireronsREADME
des branches lorsque nous fusionnerons les branches de fonctionnalités. Les différences entre les branches sont également une douleur.Nous avons décidé de créer une
branches-readme
branche orpheline . Les branches orphelines sont des branches avec leur propre histoire distincte - vous les connaissez peut-être dans lesgh-pages
branches de Github . Cette branche orpheline contient un seulREADME
fichier. Il a des contenus comme:Il est poussable et convivial. Visualisez le
README
depuis n'importe quelle branche avec:Les inconvénients sont que vous devez extraire la branche orpheline étrange lorsque vous souhaitez mettre à jour le
README
etREADME
ne se met pas automatiquement à jour lorsque les branches sont renommées, vont ou viennent. C'est bien pour nous, cependant.Faites comme:
De même, les membres individuels de l'équipe peuvent également créer leurs propres
branches-$user
branches orphelines décrivant leurs propres branches privées s'ils le souhaitent, tant qu'ils ne les poussent pas vers l'équipe.Avec un outillage supplémentaire, cela pourrait également être intégré à la sortie de
git branch
. À cette fin, unREADME.yaml
dossier pourrait peut-être être envisagé au lieu d'une simpleREADME
.la source
La commande définira une option globale
alias.about
comme expression shell. L'exécutiongit about <branch>
dans un référentiel affichera la description de la branche si elle est définie.la source
"!describe() { git config branch.\"$(git symbolic-ref --short -q HEAD)\".description; }; describe"
git config --global --add alias.about '!describe() { git config branch."$(git symbolic-ref --short -q HEAD)".description; }; describe'
Voici une implémentation possible de la
git branches
commande à laquelle Greg Hewgill a fait allusion:la source
Voici un
git
alias
qui vous permet à la fois de définir et de lire des descriptions sur la branche actuelle:Utilisation / exemples:
Un merci spécial à @Felicio pour la réponse qui m'a donné le coup d'envoi.
la source
Vous pouvez joindre des commentaires aux balises:
Par convention, vous pouvez avoir des balises liées aux noms de vos branches ou vous pouvez utiliser la balise -f pour garder une balise commentée en tête de vos branches de sujet.
la source
Dites que vous voulez créer une branche
la source
Je suis presque sûr que cette fonctionnalité n'est pas actuellement prise en charge. Je pense que votre meilleur pari est de créer un fichier texte de description, un README en gros, dans la branche qui contient les informations que vous souhaitez.
la source
La réponse choisie me semble exagérée. Je serais enclin à maintenir un par fichier de description sarment qui est un fichier contrôlé de source normale, disons
master.txt
,dev.txt
etc. et s'il y a un nombre difficile à manier ou branches je crée une hiérarchie pour mieux l' organiser.la source
git show master:dev.txt
ce qui n'est pas plus simple que la réponse sélectionnée.Utilisez simplement:
Pour donner du crédit là où le crédit est dû: https://glebbahmutov.com/blog/git-branches-with-descriptions/
la source
Utilisation
pour afficher une branche en amont:
Ajouter
-r
pour afficher uniquement les télécommandes ou-a
pour afficher les télécommandes et les locaux.la source