{"id":1515,"date":"2026-10-05T10:07:44","date_gmt":"2026-10-05T08:07:44","guid":{"rendered":"https:\/\/vermiip.es\/blog\/?p=1515"},"modified":"2026-10-05T10:07:44","modified_gmt":"2026-10-05T08:07:44","slug":"como-usar-git-blame-para-saber-quien-modifico-una-linea","status":"publish","type":"post","link":"https:\/\/vermiip.es\/blog\/como-usar-git-blame-para-saber-quien-modifico-una-linea\/","title":{"rendered":"C\u00f3mo usar git blame para saber qui\u00e9n modific\u00f3 una l\u00ednea"},"content":{"rendered":"<p style=\"display:none;\">Aprende a usar git blame para identificar qui\u00e9n cambi\u00f3 cada l\u00ednea, entender el contexto y depurar c\u00f3digo m\u00e1s r\u00e1pido.<\/p>\n<p>Cuando trabajas en un repositorio compartido, tarde o temprano aparece la misma pregunta: <strong>\u00bfqui\u00e9n cambi\u00f3 esta l\u00ednea y por qu\u00e9?<\/strong> Para responderla, Git ofrece un comando muy \u00fatil y a menudo infravalorado: <strong>git blame<\/strong>. Aunque el nombre suene acusador, su objetivo real no es se\u00f1alar culpables, sino ayudar a entender el origen de una modificaci\u00f3n concreta.<\/p>\n<p>Este comando es especialmente valioso en tareas de mantenimiento, revisi\u00f3n de bugs y an\u00e1lisis de regresiones. Si ya dominas herramientas como <a href=\"https:\/\/vermiip.es\/blog\/como-ver-el-historial-de-cambios-con-git-log\" target=\"_blank\" rel=\"noopener\">git log<\/a> y <a href=\"https:\/\/vermiip.es\/blog\/como-comparar-cambios-con-git-diff\" target=\"_blank\" rel=\"noopener\">git diff<\/a>, git blame completa el tr\u00edo b\u00e1sico para investigar cambios de forma eficiente.<\/p>\n<h2>Qu\u00e9 hace exactamente git blame<\/h2>\n<p><strong>git blame<\/strong> muestra, l\u00ednea por l\u00ednea, qu\u00e9 commit introdujo o modific\u00f3 por \u00faltima vez cada fragmento de un archivo. Tambi\u00e9n puede indicar autor, fecha y hash del commit, lo que te permite saltar r\u00e1pidamente al contexto hist\u00f3rico de ese cambio.<\/p>\n<p>En lugar de revisar cientos de commits, puedes ir directamente al punto exacto donde naci\u00f3 una l\u00ednea concreta. Esto es muy \u00fatil cuando un comportamiento inesperado aparece en producci\u00f3n o cuando detectas una validaci\u00f3n que dej\u00f3 de funcionar tras un cambio reciente.<\/p>\n<h3>La idea detr\u00e1s del comando<\/h3>\n<p>Git no \u201cadivina\u201d intenciones; simplemente rastrea el historial hasta localizar el \u00faltimo commit en el que una l\u00ednea cambi\u00f3. Ese rastro es lo que git blame expone. La utilidad no est\u00e1 solo en saber \u201cqui\u00e9n\u201d la toc\u00f3, sino en encontrar el \u201cqu\u00e9\u201d y el \u201ccu\u00e1ndo\u201d para continuar investigando.<\/p>\n<p>En equipos grandes, esto ahorra tiempo y reduce el riesgo de especular. A veces la persona que modific\u00f3 una l\u00ednea no es quien introdujo el problema, pero s\u00ed puede explicar el motivo del cambio o se\u00f1alar el commit anterior relevante.<\/p>\n<h2>C\u00f3mo usar git blame en la pr\u00e1ctica<\/h2>\n<p>La sintaxis b\u00e1sica es simple:<\/p>\n<pre><code>git blame archivo.ext\n\n# Ejemplo:\ngit blame app.js<\/code><\/pre>\n<p>El resultado suele mostrar, para cada l\u00ednea, el hash del commit, el autor, la fecha y el contenido. Con eso puedes localizar r\u00e1pidamente la l\u00ednea que te interesa.<\/p>\n<h3>Leer la salida correctamente<\/h3>\n<p>Un ejemplo de salida t\u00edpica puede verse as\u00ed:<\/p>\n<pre><code>5b1f9a2e (Ana P\u00e9rez    2026-01-12 10:42:11 +0100  12) function validarEmail(email) {\n5b1f9a2e (Ana P\u00e9rez    2026-01-12 10:42:11 +0100  13)   return email.includes('@');\nc7d3aa91 (Luis Mart\u00edn   2026-02-03 16:18:05 +0100  14) }<\/code><\/pre>\n<p>En este caso, las l\u00edneas 12 y 13 se atribuyen al commit <strong>5b1f9a2e<\/strong>, mientras que la l\u00ednea 14 pertenece a otro commit. Si hay un bug en esa funci\u00f3n, ya sabes por d\u00f3nde empezar a revisar.<\/p>\n<h2>Opciones \u00fatiles para afinar la b\u00fasqueda<\/h2>\n<p>git blame tiene varias opciones para hacer la salida m\u00e1s legible o \u00fatil seg\u00fan el caso. No siempre necesitas ver todo el archivo; a menudo basta con limitarte a un rango de l\u00edneas o ver informaci\u00f3n m\u00e1s detallada del commit.<\/p>\n<h3>ver solo un rango de l\u00edneas<\/h3>\n<p>Si el archivo es grande, puedes centrarte en una secci\u00f3n concreta:<\/p>\n<pre><code>git blame -L 20,40 archivo.ext<\/code><\/pre>\n<p>Esta opci\u00f3n muestra \u00fanicamente las l\u00edneas 20 a 40. Es perfecta para revisar una funci\u00f3n, un componente o un bloque de configuraci\u00f3n sin ruido adicional.<\/p>\n<h3>mostrar el hash completo del commit<\/h3>\n<pre><code>git blame -l archivo.ext<\/code><\/pre>\n<p>Con <strong>-l<\/strong> se muestra el hash completo, algo muy \u00fatil si necesitas copiarlo para consultar despu\u00e9s el commit con <a href=\"https:\/\/vermiip.es\/blog\/como-ver-el-historial-de-cambios-con-git-log\" target=\"_blank\" rel=\"noopener\">git log<\/a> o compararlo con <a href=\"https:\/\/vermiip.es\/blog\/como-comparar-cambios-con-git-diff\" target=\"_blank\" rel=\"noopener\">git diff<\/a>.<\/p>\n<h3>ignorar cambios de formato o reescrituras mec\u00e1nicas<\/h3>\n<p>En muchos repositorios, una l\u00ednea puede haber sido reformateada varias veces sin cambiar su l\u00f3gica real. Para esos casos, Git permite seguir la pista de ciertos cambios previos con opciones espec\u00edficas. Una de las m\u00e1s conocidas es <strong>-w<\/strong>, que ignora espacios en blanco al analizar el historial de la l\u00ednea.<\/p>\n<pre><code>git blame -w archivo.ext<\/code><\/pre>\n<p>Esto puede ser clave cuando alguien ha pasado un formateador autom\u00e1tico o ha corregido indentaci\u00f3n sin alterar el comportamiento.<\/p>\n<h2>Cu\u00e1ndo git blame es realmente \u00fatil<\/h2>\n<p>El uso m\u00e1s com\u00fan es la depuraci\u00f3n. Si una l\u00ednea devuelve un valor incorrecto, si una validaci\u00f3n dej\u00f3 de funcionar o si un texto aparece mal renderizado, git blame te ayuda a encontrar el cambio que lo introdujo.<\/p>\n<p>Tambi\u00e9n es muy \u00fatil en revisiones de c\u00f3digo heredado. Cuando heredas un proyecto que lleva a\u00f1os creciendo, el comando te permite entender por qu\u00e9 cierta decisi\u00f3n existe antes de tocarla. Eso evita borrar l\u00f3gica que parec\u00eda extra\u00f1a pero resolv\u00eda un caso real.<\/p>\n<h3>investigar regresiones y bugs<\/h3>\n<p>Imagina que una rama ha pasado pruebas ayer, pero hoy una comprobaci\u00f3n falla. Si el problema est\u00e1 en una sola l\u00ednea, git blame puede se\u00f1alar el commit responsable en segundos. Despu\u00e9s, puedes contrastarlo con el historial completo para ver si el fallo viene de una modificaci\u00f3n funcional o de un cambio colateral.<\/p>\n<h3>entender decisiones t\u00e9cnicas antiguas<\/h3>\n<p>A veces un fragmento de c\u00f3digo parece redundante, pero el commit asociado puede revelar una explicaci\u00f3n importante: compatibilidad con navegadores antiguos, soporte para un proveedor externo o una correcci\u00f3n de seguridad. En estos casos, el comando no solo identifica autor\u00eda, sino contexto.<\/p>\n<h2>Buenas pr\u00e1cticas al usar git blame<\/h2>\n<p>Aunque es una herramienta muy potente, conviene usarla con criterio. El objetivo no es culpar a nadie, sino acelerar el an\u00e1lisis. En equipos sanos, git blame se convierte en una puerta de entrada a la conversaci\u00f3n t\u00e9cnica, no en un arma de reproche.<\/p>\n<h3>comb\u00ednalo con la revisi\u00f3n del historial<\/h3>\n<p>Cuando localices el commit, abre ese punto del historial para ver el conjunto del cambio. El registro de commits y la comparaci\u00f3n de diferencias te dar\u00e1n una visi\u00f3n mucho m\u00e1s completa que una sola l\u00ednea aislada.<\/p>\n<p>Si necesitas entender c\u00f3mo lleg\u00f3 ese cambio a la rama actual, tambi\u00e9n puede ser \u00fatil revisar flujos de integraci\u00f3n como <a href=\"https:\/\/vermiip.es\/blog\/como-fusionar-ramas-con-git-merge\" target=\"_blank\" rel=\"noopener\">git merge<\/a> o repasar el comportamiento de ramas con <a href=\"https:\/\/vermiip.es\/blog\/que-son-las-ramas-en-git-y-como-funcionan\" target=\"_blank\" rel=\"noopener\">qu\u00e9 son las ramas en Git y c\u00f3mo funcionan<\/a>.<\/p>\n<h3>no uses git blame como juicio final<\/h3>\n<p>El autor que aparece en la salida no siempre es quien introdujo la idea original. Puede haber rebase, refactors, merges o cambios autom\u00e1ticos de formato. Por eso conviene interpretar el resultado como una pista, no como una sentencia.<\/p>\n<p>La mejor pr\u00e1ctica es usarlo como primer paso, despu\u00e9s leer el commit, y si hace falta, revisar el contexto del archivo en el momento del cambio. Esa secuencia ahorra tiempo y reduce malentendidos.<\/p>\n<h2>Errorres comunes al interpretar git blame<\/h2>\n<p>Uno de los errores m\u00e1s habituales es pensar que la l\u00ednea \u201cpertenece\u201d de forma definitiva a una persona. En realidad, solo estamos viendo el \u00faltimo commit que la modific\u00f3. Otra confusi\u00f3n frecuente es olvidar que un archivo puede haberse reestructurado, movido o reformateado, lo que altera la lectura hist\u00f3rica.<\/p>\n<p>Tambi\u00e9n es f\u00e1cil perderse en archivos muy grandes. En esos casos, limitar el rango de l\u00edneas o combinar git blame con grep, log y diff permite una investigaci\u00f3n m\u00e1s r\u00e1pida y precisa. Si el problema est\u00e1 relacionado con archivos temporales o generados, quiz\u00e1 primero debas revisar si deber\u00edan estar ignorados con <a href=\"https:\/\/vermiip.es\/blog\/como-ignorar-archivos-con-gitignore\" target=\"_blank\" rel=\"noopener\">.gitignore<\/a>.<\/p>\n<h2>Conclusi\u00f3n<\/h2>\n<p><strong>git blame<\/strong> es una herramienta imprescindible para cualquiera que mantenga c\u00f3digo en Git. Te ayuda a responder preguntas concretas sobre una l\u00ednea, acelerar la depuraci\u00f3n y entender por qu\u00e9 existe una implementaci\u00f3n determinada. Bien utilizada, no sirve para repartir culpas, sino para recuperar contexto t\u00e9cnico con rapidez.<\/p>\n<p>Si ya manejas comandos b\u00e1sicos como commit, log y diff, aprender git blame es el siguiente paso l\u00f3gico para trabajar con m\u00e1s precisi\u00f3n en repositorios reales. En entornos colaborativos, esa capacidad de rastrear cambios puede marcar una gran diferencia en mantenimiento, soporte y calidad del c\u00f3digo.<\/p>\n<h3>Fuentes y lecturas recomendadas<\/h3>\n<p><a href=\"https:\/\/git-scm.com\/docs\/git-blame\" target=\"_blank\" rel=\"noopener\">Documentaci\u00f3n oficial de git blame<\/a><\/p>\n<p><a href=\"https:\/\/git-scm.com\/docs\/git-log\" target=\"_blank\" rel=\"noopener\">Documentaci\u00f3n oficial de git log<\/a><\/p>\n<p><a href=\"https:\/\/docs.github.com\/\" target=\"_blank\" rel=\"noopener\">GitHub Docs<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Aprende a usar git blame para identificar qui\u00e9n cambi\u00f3 cada l\u00ednea, entender el contexto y depurar c\u00f3digo m\u00e1s r\u00e1pido.<\/p>\n","protected":false},"author":1,"featured_media":1516,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[180],"tags":[333],"class_list":["post-1515","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-git","tag-git-blame"],"_wp_attached_file":null,"_wp_attachment_metadata":null,"_wp_old_slug":null,"_aioseop_description":null,"_wp_attachment_image_alt":null,"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>C\u00f3mo usar git blame para saber qui\u00e9n modific\u00f3 una l\u00ednea - Ver mi IP<\/title>\n<meta name=\"description\" content=\"Aprende a usar git blame para identificar qui\u00e9n cambi\u00f3 cada l\u00ednea, entender el contexto y depurar c\u00f3digo m\u00e1s r\u00e1pido.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vermiip.es\/blog\/como-usar-git-blame-para-saber-quien-modifico-una-linea\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"C\u00f3mo usar git blame para saber qui\u00e9n modific\u00f3 una l\u00ednea - Ver mi IP\" \/>\n<meta property=\"og:description\" content=\"Aprende a usar git blame para identificar qui\u00e9n cambi\u00f3 cada l\u00ednea, entender el contexto y depurar c\u00f3digo m\u00e1s r\u00e1pido.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vermiip.es\/blog\/como-usar-git-blame-para-saber-quien-modifico-una-linea\/\" \/>\n<meta property=\"og:site_name\" content=\"Ver mi IP\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-05T08:07:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vermiip.es\/blog\/wp-content\/uploads\/2026\/10\/output1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1536\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Xose de la Paz\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Xose de la Paz\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/vermiip.es\\\/blog\\\/como-usar-git-blame-para-saber-quien-modifico-una-linea\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vermiip.es\\\/blog\\\/como-usar-git-blame-para-saber-quien-modifico-una-linea\\\/\"},\"author\":{\"name\":\"Xose de la Paz\",\"@id\":\"https:\\\/\\\/vermiip.es\\\/blog\\\/#\\\/schema\\\/person\\\/0617918e61a75dc2d11c09238bf84200\"},\"headline\":\"C\u00f3mo usar git blame para saber qui\u00e9n modific\u00f3 una l\u00ednea\",\"datePublished\":\"2026-10-05T08:07:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/vermiip.es\\\/blog\\\/como-usar-git-blame-para-saber-quien-modifico-una-linea\\\/\"},\"wordCount\":1325,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/vermiip.es\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/vermiip.es\\\/blog\\\/como-usar-git-blame-para-saber-quien-modifico-una-linea\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vermiip.es\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/output1.png\",\"keywords\":[\"git blame\"],\"articleSection\":[\"GIT\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/vermiip.es\\\/blog\\\/como-usar-git-blame-para-saber-quien-modifico-una-linea\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vermiip.es\\\/blog\\\/como-usar-git-blame-para-saber-quien-modifico-una-linea\\\/\",\"url\":\"https:\\\/\\\/vermiip.es\\\/blog\\\/como-usar-git-blame-para-saber-quien-modifico-una-linea\\\/\",\"name\":\"C\u00f3mo usar git blame para saber qui\u00e9n modific\u00f3 una l\u00ednea - Ver mi IP\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vermiip.es\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vermiip.es\\\/blog\\\/como-usar-git-blame-para-saber-quien-modifico-una-linea\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vermiip.es\\\/blog\\\/como-usar-git-blame-para-saber-quien-modifico-una-linea\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vermiip.es\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/output1.png\",\"datePublished\":\"2026-10-05T08:07:44+00:00\",\"description\":\"Aprende a usar git blame para identificar qui\u00e9n cambi\u00f3 cada l\u00ednea, entender el contexto y depurar c\u00f3digo m\u00e1s r\u00e1pido.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vermiip.es\\\/blog\\\/como-usar-git-blame-para-saber-quien-modifico-una-linea\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vermiip.es\\\/blog\\\/como-usar-git-blame-para-saber-quien-modifico-una-linea\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/vermiip.es\\\/blog\\\/como-usar-git-blame-para-saber-quien-modifico-una-linea\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vermiip.es\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/output1.png\",\"contentUrl\":\"https:\\\/\\\/vermiip.es\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/output1.png\",\"width\":1536,\"height\":1024,\"caption\":\"C\u00f3mo usar git blame para saber qui\u00e9n modific\u00f3 una l\u00ednea\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vermiip.es\\\/blog\\\/como-usar-git-blame-para-saber-quien-modifico-una-linea\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/vermiip.es\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"C\u00f3mo usar git blame para saber qui\u00e9n modific\u00f3 una l\u00ednea\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vermiip.es\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/vermiip.es\\\/blog\\\/\",\"name\":\"Cual es mi ip - Internet y otras locuras\",\"description\":\"Internet y otras locuras\",\"publisher\":{\"@id\":\"https:\\\/\\\/vermiip.es\\\/blog\\\/#organization\"},\"alternateName\":\"Cual es mi IP\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vermiip.es\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/vermiip.es\\\/blog\\\/#organization\",\"name\":\"Ver mi IP\",\"alternateName\":\"vermiip\",\"url\":\"https:\\\/\\\/vermiip.es\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/vermiip.es\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/vermiip.es\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/cropped-logo-vermiip-naranja.png\",\"contentUrl\":\"https:\\\/\\\/vermiip.es\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/cropped-logo-vermiip-naranja.png\",\"width\":512,\"height\":512,\"caption\":\"Ver mi IP\"},\"image\":{\"@id\":\"https:\\\/\\\/vermiip.es\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/vermiip.es\\\/blog\\\/#\\\/schema\\\/person\\\/0617918e61a75dc2d11c09238bf84200\",\"name\":\"Xose de la Paz\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d248b555dd18abd5e7350d28ecf07116718da621eb85762e02558c2cef2bb8bc?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d248b555dd18abd5e7350d28ecf07116718da621eb85762e02558c2cef2bb8bc?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d248b555dd18abd5e7350d28ecf07116718da621eb85762e02558c2cef2bb8bc?s=96&d=mm&r=g\",\"caption\":\"Xose de la Paz\"},\"description\":\"M\u00e1s de 20 a\u00f1os transformando pasi\u00f3n en profesi\u00f3n. Experto en desarrollo Full Stack con una visi\u00f3n integral que abarca desde la gesti\u00f3n de servidores y redes hasta el dise\u00f1o de interfaz. Soy un \\\"todoterreno\\\" tecnol\u00f3gico que cree en el aprendizaje continuo y la visi\u00f3n global de los proyectos. Entre despliegue y despliegue, me pierdo por el mundo con mi c\u00e1mara al hombro.\",\"sameAs\":[\"https:\\\/\\\/www.enfocado.com\",\"https:\\\/\\\/www.instagram.com\\\/xose_de_la_paz\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/xosedelapaz\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"C\u00f3mo usar git blame para saber qui\u00e9n modific\u00f3 una l\u00ednea - Ver mi IP","description":"Aprende a usar git blame para identificar qui\u00e9n cambi\u00f3 cada l\u00ednea, entender el contexto y depurar c\u00f3digo m\u00e1s r\u00e1pido.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vermiip.es\/blog\/como-usar-git-blame-para-saber-quien-modifico-una-linea\/","og_locale":"es_ES","og_type":"article","og_title":"C\u00f3mo usar git blame para saber qui\u00e9n modific\u00f3 una l\u00ednea - Ver mi IP","og_description":"Aprende a usar git blame para identificar qui\u00e9n cambi\u00f3 cada l\u00ednea, entender el contexto y depurar c\u00f3digo m\u00e1s r\u00e1pido.","og_url":"https:\/\/vermiip.es\/blog\/como-usar-git-blame-para-saber-quien-modifico-una-linea\/","og_site_name":"Ver mi IP","article_published_time":"2026-10-05T08:07:44+00:00","og_image":[{"width":1536,"height":1024,"url":"https:\/\/vermiip.es\/blog\/wp-content\/uploads\/2026\/10\/output1.png","type":"image\/png"}],"author":"Xose de la Paz","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Xose de la Paz","Tiempo de lectura":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vermiip.es\/blog\/como-usar-git-blame-para-saber-quien-modifico-una-linea\/#article","isPartOf":{"@id":"https:\/\/vermiip.es\/blog\/como-usar-git-blame-para-saber-quien-modifico-una-linea\/"},"author":{"name":"Xose de la Paz","@id":"https:\/\/vermiip.es\/blog\/#\/schema\/person\/0617918e61a75dc2d11c09238bf84200"},"headline":"C\u00f3mo usar git blame para saber qui\u00e9n modific\u00f3 una l\u00ednea","datePublished":"2026-10-05T08:07:44+00:00","mainEntityOfPage":{"@id":"https:\/\/vermiip.es\/blog\/como-usar-git-blame-para-saber-quien-modifico-una-linea\/"},"wordCount":1325,"commentCount":0,"publisher":{"@id":"https:\/\/vermiip.es\/blog\/#organization"},"image":{"@id":"https:\/\/vermiip.es\/blog\/como-usar-git-blame-para-saber-quien-modifico-una-linea\/#primaryimage"},"thumbnailUrl":"https:\/\/vermiip.es\/blog\/wp-content\/uploads\/2026\/10\/output1.png","keywords":["git blame"],"articleSection":["GIT"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/vermiip.es\/blog\/como-usar-git-blame-para-saber-quien-modifico-una-linea\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/vermiip.es\/blog\/como-usar-git-blame-para-saber-quien-modifico-una-linea\/","url":"https:\/\/vermiip.es\/blog\/como-usar-git-blame-para-saber-quien-modifico-una-linea\/","name":"C\u00f3mo usar git blame para saber qui\u00e9n modific\u00f3 una l\u00ednea - Ver mi IP","isPartOf":{"@id":"https:\/\/vermiip.es\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vermiip.es\/blog\/como-usar-git-blame-para-saber-quien-modifico-una-linea\/#primaryimage"},"image":{"@id":"https:\/\/vermiip.es\/blog\/como-usar-git-blame-para-saber-quien-modifico-una-linea\/#primaryimage"},"thumbnailUrl":"https:\/\/vermiip.es\/blog\/wp-content\/uploads\/2026\/10\/output1.png","datePublished":"2026-10-05T08:07:44+00:00","description":"Aprende a usar git blame para identificar qui\u00e9n cambi\u00f3 cada l\u00ednea, entender el contexto y depurar c\u00f3digo m\u00e1s r\u00e1pido.","breadcrumb":{"@id":"https:\/\/vermiip.es\/blog\/como-usar-git-blame-para-saber-quien-modifico-una-linea\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vermiip.es\/blog\/como-usar-git-blame-para-saber-quien-modifico-una-linea\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/vermiip.es\/blog\/como-usar-git-blame-para-saber-quien-modifico-una-linea\/#primaryimage","url":"https:\/\/vermiip.es\/blog\/wp-content\/uploads\/2026\/10\/output1.png","contentUrl":"https:\/\/vermiip.es\/blog\/wp-content\/uploads\/2026\/10\/output1.png","width":1536,"height":1024,"caption":"C\u00f3mo usar git blame para saber qui\u00e9n modific\u00f3 una l\u00ednea"},{"@type":"BreadcrumbList","@id":"https:\/\/vermiip.es\/blog\/como-usar-git-blame-para-saber-quien-modifico-una-linea\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/vermiip.es\/blog\/"},{"@type":"ListItem","position":2,"name":"C\u00f3mo usar git blame para saber qui\u00e9n modific\u00f3 una l\u00ednea"}]},{"@type":"WebSite","@id":"https:\/\/vermiip.es\/blog\/#website","url":"https:\/\/vermiip.es\/blog\/","name":"Cual es mi ip - Internet y otras locuras","description":"Internet y otras locuras","publisher":{"@id":"https:\/\/vermiip.es\/blog\/#organization"},"alternateName":"Cual es mi IP","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vermiip.es\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/vermiip.es\/blog\/#organization","name":"Ver mi IP","alternateName":"vermiip","url":"https:\/\/vermiip.es\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/vermiip.es\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/vermiip.es\/blog\/wp-content\/uploads\/2023\/10\/cropped-logo-vermiip-naranja.png","contentUrl":"https:\/\/vermiip.es\/blog\/wp-content\/uploads\/2023\/10\/cropped-logo-vermiip-naranja.png","width":512,"height":512,"caption":"Ver mi IP"},"image":{"@id":"https:\/\/vermiip.es\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/vermiip.es\/blog\/#\/schema\/person\/0617918e61a75dc2d11c09238bf84200","name":"Xose de la Paz","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/d248b555dd18abd5e7350d28ecf07116718da621eb85762e02558c2cef2bb8bc?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/d248b555dd18abd5e7350d28ecf07116718da621eb85762e02558c2cef2bb8bc?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d248b555dd18abd5e7350d28ecf07116718da621eb85762e02558c2cef2bb8bc?s=96&d=mm&r=g","caption":"Xose de la Paz"},"description":"M\u00e1s de 20 a\u00f1os transformando pasi\u00f3n en profesi\u00f3n. Experto en desarrollo Full Stack con una visi\u00f3n integral que abarca desde la gesti\u00f3n de servidores y redes hasta el dise\u00f1o de interfaz. Soy un \"todoterreno\" tecnol\u00f3gico que cree en el aprendizaje continuo y la visi\u00f3n global de los proyectos. Entre despliegue y despliegue, me pierdo por el mundo con mi c\u00e1mara al hombro.","sameAs":["https:\/\/www.enfocado.com","https:\/\/www.instagram.com\/xose_de_la_paz\/","https:\/\/www.linkedin.com\/in\/xosedelapaz\/"]}]}},"_links":{"self":[{"href":"https:\/\/vermiip.es\/blog\/wp-json\/wp\/v2\/posts\/1515","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vermiip.es\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vermiip.es\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vermiip.es\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vermiip.es\/blog\/wp-json\/wp\/v2\/comments?post=1515"}],"version-history":[{"count":1,"href":"https:\/\/vermiip.es\/blog\/wp-json\/wp\/v2\/posts\/1515\/revisions"}],"predecessor-version":[{"id":1521,"href":"https:\/\/vermiip.es\/blog\/wp-json\/wp\/v2\/posts\/1515\/revisions\/1521"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vermiip.es\/blog\/wp-json\/wp\/v2\/media\/1516"}],"wp:attachment":[{"href":"https:\/\/vermiip.es\/blog\/wp-json\/wp\/v2\/media?parent=1515"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vermiip.es\/blog\/wp-json\/wp\/v2\/categories?post=1515"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vermiip.es\/blog\/wp-json\/wp\/v2\/tags?post=1515"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}