tag - ¿Qué hace culpa git?
git tag best practices (5)
Vi muchas preguntas sobre los métodos de usar
git blame
pero realmente no los entiendo.
Veo un botón de
blame
en la parte superior de los archivos en la interfaz de github.
Al hacer clic, muestra algunas diferencias con los nombres de usuario en la barra izquierda.
¿Qué indica eso?
¿Por qué se usa realmente git blame, aparte de GitHub?
De git-scm http://git-scm.com/docs/git-blame
Anota cada línea en el archivo dado con información de la revisión que modificó la última línea. Opcionalmente, comience a anotar desde la revisión dada.
Cuando se especifica una o más veces, -L restringe la anotación a las líneas solicitadas.
Ejemplo:
[email protected]:~# git blame .htaccess
...
^e1fb2d7 (John Doe 2015-07-03 06:30:25 -0300 4) allow from all
^72fgsdl (Arthur King 2015-07-03 06:34:12 -0300 5)
^e1fb2d7 (John Doe 2015-07-03 06:30:25 -0300 6) <IfModule mod_rewrite.c>
^72fgsdl (Arthur King 2015-07-03 06:34:12 -0300 7) RewriteEngine On
...
Tenga en cuenta que
git blame
no muestra el historial de modificaciones por línea en sentido cronológico.
Solo muestra quién fue la última persona que cambió una línea en un documento hasta la última confirmación en
HEAD
.
Es decir, para ver el historial / registro completo de una línea de documento, necesitaría ejecutar una
git blame path/to/file
para cada confirmación en su
git log
.
Desde GitHub https://help.github.com/articles/using-git-blame-to-trace-changes-in-a-file
El comando blame es una característica de Git, diseñada para ayudarlo a determinar quién realizó cambios en un archivo.
A pesar de su nombre que suena negativo, la culpa de git es en realidad bastante inocuo; su función principal es señalar quién cambió qué líneas en un archivo y por qué. Puede ser una herramienta útil para identificar cambios en su código.
Básicamente,
git-blame
se usa para mostrar qué revisión y autor modificaron por última vez cada línea de un archivo.
Es como verificar el historial del desarrollo de un archivo.
El comando
git blame
anota la línea con información de la revisión que modificó por última vez la línea, y ... con Git 2.22 (Q2 2019), lo hará
más rápido
, debido a una corrección de rendimiento en torno a "
git blame
", especialmente en un historial lineal (que es la norma para la que debemos optimizar).
Ver
commit f892014
(02 abr 2019) por
David Kastrup (
fedelibre
)
.
(Fusionada por
Junio C Hamano -
gitster
-
en
commit 4d8c4da
, 25 abr 2019)
blame.c
: noblame.c
blobs de origen tan ansiosamenteCuando un blob principal ya tiene trozos en cola para culpar, soltar el blob al final de un paso de culpa hará que se vuelva a cargar de inmediato, duplicando la cantidad de E / S y desempacando al procesar un historial lineal.
Mantener tales blobs principales en la memoria parece una optimización razonable que debería generar una presión de memoria adicional principalmente al procesar las fusiones de ramas antiguas.
El comando
git blame
se usa para saber quién / qué commit es responsable de los últimos cambios realizados en un archivo.
También se puede ver el autor / commit de cada línea.
git blame filename
(se compromete responsable de los cambios para todas las líneas en el código)
git blame filename -L 0,10
(se compromete responsable de los cambios de la línea "0" a la línea "10")
Hay muchas otras opciones para culpar, generalmente estas podrían ayudar.
El comando se explica bastante bien, es averiguar qué compañero de trabajo escribió la línea específica o arruinó el proyecto para que pueda culparlos :)