Descripciones de ramas en Git
¿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 me empaña la memoria de por qué creé algunas de las otras ramas temáticas. Intento utilizar nombres descriptivos para las ramas, pero creo que una 'descripción' (una breve nota sobre el propósito de la rama) estaría bien.
Git 1.7.9 admite esto. De las notas de la versión 1.7.9 :
* "git branch --edit-description" se puede utilizar para agregar texto descriptivo para explicar de qué se trata una rama temática.
Puede ver esa característica introducida en septiembre de 2011, con confirmaciones 6f9a332 , 739453a3 , b7200e8 :
struct branch_desc_cb {
const char *config_name;
const char *value;
};
--edit-description::
Abra un editor y edite el texto para explicar para qué sirve la rama, para que la utilicen otros comandos (p. ej.
request-pull
).
Tenga en cuenta que no funcionará para una rama HEAD separada.
Esa descripción es utilizada por el script request-pull: consulte la confirmación c016814783 , pero también git merge --log
.
request-pull
es un script que se utiliza para resumir los cambios entre dos confirmaciones en la salida estándar e incluye la URL proporcionada en el resumen generado.
[De @AchalDave] Desafortunadamente, no puedes enviar descripciones ya que están almacenadas en tu configuración, lo que las hace inútiles para documentar ramas en un equipo.
Si terminas usando el README, crea un alias de git modificándolo git checkout
para que tu README se muestre cada vez que cambies de rama.
Por ejemplo, agregue esto en ~/.gitconfig, bajo [alias]
cor = !sh -c 'git checkout $1 && cat README' -
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.
Úselo git branch --edit-description
para configurar o editar la descripción de una sucursal.
Aquí hay una función de shell para mostrar ramas similares git branch
pero con descripciones adjuntas.
# Shows branches with descriptions
function gb() {
current=$(git rev-parse --abbrev-ref HEAD)
branches=$(git for-each-ref --format='%(refname)' refs/heads/ | sed 's|refs/heads/||')
for branch in $branches; do
desc=$(git config branch.$branch.description)
if [ $branch == $current ]; then
branch="* \033[0;32m$branch\033[0m"
else
branch=" $branch"
fi
echo -e "$branch \033[0;36m$desc\033[0m"
done
}
Esto es lo que gb
parece, mostrado aquí como texto en caso de que la imagen se pudra:
$ gb
* logging Log order details. Waiting for clarification from business.
master
sprocket Adding sprockets to the parts list. Pending QA approval.
Y a modo de imagen, para que veáis los colores: