tipos tag remove practices etiquetas crear best git git-blame

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 : no blame.c blobs de origen tan ansiosamente

Cuando 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 :)