¿Hay alguna manera en Git de tener una 'descripción' para las ramas?
Si bien trato de usar nombres descriptivos, trabajar por un tiempo en una sola rama a veces amortigua mi memoria de por qué hice algunas de las otras ramas temáticas. Intento usar nombres descriptivos para las ramas, pero creo que una 'descripción' (nota breve sobre el propósito de la rama) sería buena.
git
branch
task-tracking
Noufal Ibrahim
fuente
fuente

Respuestas:
Git 1.7.9 lo admite. De las notas de la versión 1.7.9 :
Puede ver esa característica introducida en septiembre de 2011, con commits 6f9a332 , 739453a3 , b7200e8 :
Tenga en cuenta que no funcionará para una rama HEAD separada.
El script request-pull utiliza esa descripción: consulte commit c016814783 , pero también
git merge --log.[De @AchalDave] Desafortunadamente, no puede enviar descripciones ya que están almacenadas en su configuración, lo que lo hace inútil por el simple hecho de documentar ramas en un equipo.
fuente
git config branch.topic.descriptionpara mostrar la descripción de la ramatopic. Se almacena en el.git/configarchivo.git branchmostrara las descripciones en la lista ...Si no terminan usando el README, crear un alias de git modifican
git checkoutpara que su README se visualiza cada vez que se enciende ramas.Por ejemplo, agregue esto en ~ / .gitconfig, en [alias]
Después de esto, puede ejecutar
git cor <branch_name>para cambiar de rama y mostrar el archivo README de la rama a la que está cambiando.fuente
1.7.11-msysgit.1). Estoy usando $ 0 en su lugar. Y todo está bien.sh -c"; p.ej,.alias = "!f() { git checkout "${1}" && cat README.md; }; f"(los corchetes y las citas son innecesarios en este caso, solo se incluyen para completar en caso de que sean necesarios para algo más complicado.)~/.gitconfig, debajo[alias], y el nombre del alias se llama de hecho (y comprensiblemente confuso)aliasdesde mi configuración real (debería haberle cambiado el nombrecorpara que este ejemplo sea coherente). Mialiasalias actual es:alias = "!f() { git config --get-regexp "^alias.${1}$" ; }; f"Uso:git alias {alias_name}ogit alias {alias_regexp}. Análogo alaliascomando bash , por ejemplo,$ alias llrendimientos (para mí)alias ll='ls -l':; y$ git alias brlos rendimientos:alias.br branch -v --list(también podrían utilizar:$ git alias 'b.*')Use
git branch --edit-descriptionpara establecer o editar una descripción de rama.Aquí hay una función de shell para mostrar ramas similares
git branchpero con descripciones adjuntas.Esto es lo que
gbparece, mostrado aquí como texto en caso de que la imagen se pudra:Y como imagen, para que puedas ver los colores:
fuente
Lo
READMEsugerido por Chris J puede funcionar, siempre que esté configurado con un controlador de fusión personalizado definido en a.gitattribute.De esa manera, la versión local de la
READMEsiempre se conserva durante las fusiones.La "descripción" de las ramas también se conoce como un "comentario" asociado con esos metadatos, y no es compatible.
Al menos, con un
READMEarchivo, puede, para cualquier rama, hacer:Si su archivo README se encuentra en el directorio raíz de su REPO, funcionará desde cualquier ruta, ya que la ruta utilizada por
git showes absoluta desde el directorio superior de dicho repositorio.fuente
.gitattributesarchivo en su repositorio, por lo que no, simplemente funcionaría para todos. Desafortunadamente, esto no parece funcionar cuando se fusiona a través de algunas interfaces basadas en web, por ejemplo, cuando se usan solicitudes de extracción en Azure DevOps.Aquí hay dos sugerencias populares:
git branch --edit-description: No nos gusta esto porque no puedes presionarlo. Tal vez puedo recordar lo que hacen las ramas que creé, pero mi equipo no puede.READMEarchivo pr. rama. Esto es un dolor durante las fusiones: es muy propenso a fusionar conflictos y nos retiraremosREADMEde las ramas cuando fusionamos ramas de características. Las diferencias entre las ramas también son un dolor.Hemos decidido crear una
branches-readmerama huérfana . Las ramas huérfanas son ramas con su propia historia separada; puedes conocerlas de lasgh-pagesramas de Github . Esta rama huérfana contiene un soloREADMEarchivo. Tiene contenidos como:Es empujable y fácil de combinar. Ver
READMEdesde cualquier sucursal con:Las desventajas son que debe pagar la rama huérfana extraña cuando desea actualizar el
READMEy elREADMEno se actualiza automáticamente a medida que las ramas cambian de nombre, van o vienen. Sin embargo, eso está bien para nosotros.Hazlo como:
De manera similar, los miembros individuales del equipo también pueden crear sus propios
branches-$userramas huérfanas describiendo sus propias ramas privadas si lo desean, siempre que no los empujen al equipo.Con herramientas adicionales esto también podría integrarse con la salida de
git branch. Con ese fin, tal vezREADME.yamlpodría considerarse un archivo en lugar de un simpleREADME.fuente
El comando definirá una opción global
alias.aboutcomo expresión de shell. Si se ejecutagit about <branch>en un repositorio, se mostrará la descripción de la rama si está establecida.fuente
"!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'Aquí hay una posible implementación del
git branchescomando al que Greg Hewgill aludió:fuente
Aquí hay una
gitaliasque le permite establecer y leer descripciones en la rama actual:Uso / ejemplos:
Un agradecimiento especial a @Felicio por la respuesta que me ayudó a comenzar.
fuente
Puede adjuntar comentarios a las etiquetas:
Por convención, podría tener etiquetas relacionadas con los nombres de sus sucursales o podría usar la etiqueta -f para mantener una etiqueta comentada al frente de las ramas de sus temas.
fuente
Digamos que quieres crear una rama
fuente
Estoy bastante seguro de que esa característica no es compatible actualmente. Creo que su mejor opción es crear un archivo de texto descriptivo, un archivo README básicamente, en la rama que tenga la información que desea.
fuente
La respuesta seleccionada me parece exagerada. Me inclinaría a mantener un archivo de descripción por sucursal que es un archivo normal controlada por la fuente, por ejemplo
master.txt,dev.txt, etc, y si hay un número difícil de manejar o ramas que crearía una jerarquía a una mejor organizarlo.fuente
git show master:dev.txtque no es más simple que la respuesta seleccionada.Solo usa:
Para dar crédito donde se debe: https://glebbahmutov.com/blog/git-branches-with-descriptions/
fuente
Utilizar
para mostrar una rama aguas arriba:
Agregar
-rpara mostrar solo controles remotos o-apara mostrar controles remotos y locales.fuente