¿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.description
para mostrar la descripción de la ramatopic
. Se almacena en el.git/config
archivo.git branch
mostrara las descripciones en la lista ...Si no terminan usando el README, crear un alias de git modifican
git checkout
para 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)alias
desde mi configuración real (debería haberle cambiado el nombrecor
para que este ejemplo sea coherente). Mialias
alias actual es:alias = "!f() { git config --get-regexp "^alias.${1}$" ; }; f"
Uso:git alias {alias_name}
ogit alias {alias_regexp}
. Análogo alalias
comando bash , por ejemplo,$ alias ll
rendimientos (para mí)alias ll='ls -l'
:; y$ git alias br
los rendimientos:alias.br branch -v --list
(también podrían utilizar:$ git alias 'b.*'
)Use
git branch --edit-description
para establecer o editar una descripción de rama.Aquí hay una función de shell para mostrar ramas similares
git branch
pero con descripciones adjuntas.Esto es lo que
gb
parece, mostrado aquí como texto en caso de que la imagen se pudra:Y como imagen, para que puedas ver los colores:
fuente
Lo
README
sugerido 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
README
siempre 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
README
archivo, 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 show
es absoluta desde el directorio superior de dicho repositorio.fuente
.gitattributes
archivo 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.README
archivo pr. rama. Esto es un dolor durante las fusiones: es muy propenso a fusionar conflictos y nos retiraremosREADME
de las ramas cuando fusionamos ramas de características. Las diferencias entre las ramas también son un dolor.Hemos decidido crear una
branches-readme
rama huérfana . Las ramas huérfanas son ramas con su propia historia separada; puedes conocerlas de lasgh-pages
ramas de Github . Esta rama huérfana contiene un soloREADME
archivo. Tiene contenidos como:Es empujable y fácil de combinar. Ver
README
desde cualquier sucursal con:Las desventajas son que debe pagar la rama huérfana extraña cuando desea actualizar el
README
y elREADME
no 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-$user
ramas 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.yaml
podría considerarse un archivo en lugar de un simpleREADME
.fuente
El comando definirá una opción global
alias.about
como 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 branches
comando al que Greg Hewgill aludió:fuente
Aquí hay una
git
alias
que 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.txt
que 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
-r
para mostrar solo controles remotos o-a
para mostrar controles remotos y locales.fuente