Quiero saber quién creó una sucursal.
Soy capaz de hacerlo con:
git branch -a | xargs -L 1 bash -c 'echo "$1 `git log --pretty=format:"%H %an" $1^..$1`"' _
Sin embargo, esto devuelve el último confirmador por rama, no necesariamente la persona que creó la rama.
git
git-branch
Ofir Farchy
fuente
fuente
Respuestas:
Una rama no es más que un puntero de confirmación. Como tal, no rastrea metadatos como "quién me creó". Ver por ti mismo. Prueba
cat .git/refs/heads/<branch>
en tu repositorio.Dicho esto, si realmente le gusta rastrear esta información en su repositorio, consulte las descripciones de las ramas. Le permiten adjuntar metadatos arbitrarios a las ramas, al menos localmente.
También la respuesta de DarVar a continuación es una forma muy inteligente de obtener esta información.
fuente
Enumere las ramas remotas de Git por autor ordenadas por fecha de confirmación
fuente
git for-each-ref --format='%(committerdate)%09%(authorname)%09%(refname)' | sort -k5n -k2M -k3n -k4n | grep remotes | awk -F "\t" '{ printf "%-32s %-27s %s\n", $1, $2, $3 }'
(idea de stackoverflow.com/a/3631819 - puede que necesite ajustar los números en la impresión awk dependiendo de la fecha máxima / longitud del nombre del autor)Modifiqué las respuestas anteriores usando la
--sort
bandera y agregué algo de color / formato:fuente
fuente
Añadiendo a la respuesta de DarVar :
PD: Usamos AWK para imprimir bastante el autor y la rama remota.
fuente
Puede averiguar quién creó una sucursal en su repositorio local al
Salida de ejemplo:
Pero esto probablemente sea inútil, ya que generalmente en su repositorio local solo crea ramas.
La información se almacena en ./.git/logs/refs/heads/ branch . Contenido de ejemplo:
La última confirmación en este ejemplo fue del usuario "b", mientras que la rama "b2" fue creada por el usuario "a". Si cambia su nombre de usuario, puede verificar que git reflog toma la información del registro y no utiliza el usuario local.
No conozco ninguna posibilidad de transmitir esa información de registro local a un repositorio central.
fuente
Podemos averiguarlo en base al nombre del autor
fuente
Asumiendo:
master
master
embargofuente
Sé que esto no es del todo el alcance de la pregunta, pero si encuentra la necesidad de filtrar solo las confirmaciones de un autor específico, siempre puede canalizar a grep :)
feliz codificación! :)
fuente
para aquellos que buscan un DESC ... esto parece funcionar
--sort=-
Ty para el formateo, nuevo en esto ... mis ojos están perdiendo algo de sangre
Ref. adicional: https://stackoverflow.com/a/5188364/10643471
fuente
Hasta donde yo sé, puedes ver si eres el creador de una rama solamente. Esto se indica mediante la primera fila en .git / ref / heads / <branch>. Si termina con "Creado a partir de HEAD", usted es el creador.
fuente