CINXE.COM
Git - Variables de entorno
<!DOCTYPE html> <html lang="es"> <head> <meta charset='utf-8'> <meta content='IE=edge,chrome=1' http-equiv='X-UA-Compatible'> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Git - Variables de entorno</title> <link href="/favicon.ico" rel='shortcut icon' type='image/x-icon'> <link rel="stylesheet" href="/application.min.css"> <script src="/js/modernizr.js"></script> <script src="/js/modernize.js"></script> </head> <body id="documentation"> <div class="inner"> <header> <a href="/"><img src="/images/logo@2x.png" width="110" height="46" alt="Git" /></a> <span id="tagline"></span> <script type="text/javascript"> const taglines = [ "fast-version-control", "everything-is-local", "distributed-even-if-your-workflow-isnt", "local-branching-on-the-cheap", "distributed-is-the-new-centralized" ]; var tagline = taglines[Math.floor(Math.random() * taglines.length)]; document.getElementById('tagline').innerHTML = '--' + tagline; </script> <form id="search" action="/search/results"> <input id="search-text" name="search" placeholder="Type / to search entire site…" autocomplete="off" type="text" /> </form> <div id="search-results"></div> </header> </div> <div class="inner"> <div id="content-wrapper"> <div tabindex="1" class="sidebar-btn"></div> <aside class="sidebar" id="sidebar"> <nav> <ul> <li> <a href="/about">About</a> <ul> </ul> </li> <li> <a href="/doc" class="active">Documentation</a> <ul class="expanded"> <li> <a href="/docs">Reference</a> </li> <li> <a href="/book" class="active">Book</a> </li> <li> <a href="/videos">Videos</a> </li> <li> <a href="/doc/ext">External Links</a> </li> </ul> </li> <li> <a href="/downloads">Downloads</a> <ul > <li> <a href="/downloads/guis">GUI Clients</a> </li> <li> <a href="/downloads/logos">Logos</a> </li> </ul> </li> <li> <a href="/community">Community</a> </li> </ul> <hr class="sidebar"> <p> This book is available in <a href="/book/en/v2/Git-Internals-Environment-Variables">English</a>. </p> <p> Full translation available in <table> <tr><td><a href="/book/az/v2/Git%e2%80%99in-Daxili-%c4%b0%c5%9fl%c9%99ri-M%c3%bchit-D%c9%99yi%c5%9f%c9%99nl%c9%99ri">azərbaycan dili</a>,</td></tr> <tr><td><a href="/book/bg">български език</a>,</td></tr> <tr><td><a href="/book/de/v2/Git-Interna-Zusammenfassung">Deutsch</a>,</td></tr> <tr><td><a href="/book/es/v2/Los-entresijos-internos-de-Git-Variables-de-entorno">Español</a>,</td></tr> <tr><td><a href="/book/fr/v2/Les-tripes-de-Git-Les-variables-d%e2%80%99environnement">Français</a>,</td></tr> <tr><td><a href="/book/gr">Ελληνικά</a>,</td></tr> <tr><td><a href="/book/ja/v2/Git%e3%81%ae%e5%86%85%e5%81%b4-%e7%92%b0%e5%a2%83%e5%a4%89%e6%95%b0">日本語</a>,</td></tr> <tr><td><a href="/book/ko/v2/Git%ec%9d%98-%eb%82%b4%eb%b6%80-%ed%99%98%ea%b2%bd%eb%b3%80%ec%88%98">한국어</a>,</td></tr> <tr><td><a href="/book/nl/v2/Git-Binnenwerk-Omgevingsvariabelen">Nederlands</a>,</td></tr> <tr><td><a href="/book/ru/v2/Git-%d0%b8%d0%b7%d0%bd%d1%83%d1%82%d1%80%d0%b8-%d0%9f%d0%b5%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%bd%d1%8b%d0%b5-%d0%be%d0%ba%d1%80%d1%83%d0%b6%d0%b5%d0%bd%d0%b8%d1%8f">Русский</a>,</td></tr> <tr><td><a href="/book/sl/v2/Notranjost-Gita-Spremenljivke-okolja">Slovenščina</a>,</td></tr> <tr><td><a href="/book/tl/v2/Mga-Panloob-ng-GIT-Mga-Variable-sa-Kapaligiran">Tagalog</a>,</td></tr> <tr><td><a href="/book/uk/v2/Git-%d0%b7%d1%81%d0%b5%d1%80%d0%b5%d0%b4%d0%b8%d0%bd%d0%b8-%d0%97%d0%bc%d1%96%d0%bd%d0%bd%d1%96-%d1%81%d0%b5%d1%80%d0%b5%d0%b4%d0%be%d0%b2%d0%b8%d1%89%d0%b0">Українська</a></td></tr> <tr><td><a href="/book/zh/v2/Git-%e5%86%85%e9%83%a8%e5%8e%9f%e7%90%86-%e7%8e%af%e5%a2%83%e5%8f%98%e9%87%8f">简体中文</a>,</td></tr> </table> </p> <p> Partial translations available in <table> <tr><td><a href="/book/cs/v2/Git-Internals-Environment-Variables">Čeština</a>,</td></tr> <tr><td><a href="/book/mk/v2/%d0%92%d0%bd%d0%b0%d1%82%d1%80%d0%b5%d1%88%d0%bd%d0%be%d1%81%d1%82%d0%b0-%d0%bd%d0%b0-Git-Environment-Variables">Македонски</a>,</td></tr> <tr><td><a href="/book/pl/v2/Mechanizmy-wewn%c4%99trzne-w-Git-Environment-Variables">Polski</a>,</td></tr> <tr><td><a href="/book/sr/v2/%d0%93%d0%b8%d1%82-%d0%b8%d0%b7%d0%bd%d1%83%d1%82%d1%80%d0%b0-%d0%9f%d1%80%d0%be%d0%bc%d0%b5%d0%bd%d1%99%d0%b8%d0%b2%d0%b5-%d0%be%d0%ba%d1%80%d1%83%d0%b6%d0%b5%d1%9a%d0%b0">Српски</a>,</td></tr> <tr><td><a href="/book/uz/v2/Git-Internals-Environment-Variables">Ўзбекча</a>,</td></tr> <tr><td><a href="/book/zh-tw/v2/Git-Internals-Environment-Variables">繁體中文</a>,</td></tr> </table> </p> <p> Translations started for <table> <tr><td><a href="/book/be/v2/Git-Internals-Environment-Variables">Беларуская</a>,</td></tr> <tr><td><a href="/book/fa/v2/Git-Internals-Environment-Variables" dir="rtl">فارسی</a>,</td></tr> <tr><td><a href="/book/id/v2/Git-Internals-Environment-Variables">Indonesian</a>,</td></tr> <tr><td><a href="/book/it/v2/Git-Internals-Environment-Variables">Italiano</a>,</td></tr> <tr><td><a href="/book/ms/v2/Git-Internals-Environment-Variables">Bahasa Melayu</a>,</td></tr> <tr><td><a href="/book/pt-br/v2/Funcionamento-Interno-do-Git-Vari%c3%a1veis-de-ambiente">Português (Brasil)</a>,</td></tr> <tr><td><a href="/book/pt-pt/v2/Internos-do-Git-Environment-Variables">Português (Portugal)</a>,</td></tr> <tr><td><a href="/book/sv/v2/Git-Internals-Environment-Variables">Svenska</a>,</td></tr> <tr><td><a href="/book/tr/v2/Dahili-Git-%c3%96geleri-Ortam-De%c4%9fi%c5%9fkenleri">Türkçe</a>.</td></tr> </table> </p> <hr class="sidebar"/> <p> The source of this book is <a href="https://github.com/progit/progit2-es">hosted on GitHub.</a></br> Patches, suggestions and comments are welcome. </p> </nav> </aside> <div id="content"> <div id="book-chapters"> <a class="dropdown-trigger" id="book-chapters-trigger" data-panel-id="chapters-dropdown" href="#">Chapters ▾</a> <div class='dropdown-panel' id='chapters-dropdown'> <div class='three-column'> <div class="column-left"> <ol class='book-toc'> <li class='chapter'> <h2>1. <a href="/book/es/v2/Inicio---Sobre-el-Control-de-Versiones-Acerca-del-Control-de-Versiones">Inicio - Sobre el Control de Versiones</a></h2> <ol> <li> 1.1 <a href="/book/es/v2/Inicio---Sobre-el-Control-de-Versiones-Acerca-del-Control-de-Versiones">Acerca del Control de Versiones</a> </li> <li> 1.2 <a href="/book/es/v2/Inicio---Sobre-el-Control-de-Versiones-Una-breve-historia-de-Git">Una breve historia de Git</a> </li> <li> 1.3 <a href="/book/es/v2/Inicio---Sobre-el-Control-de-Versiones-Fundamentos-de-Git">Fundamentos de Git</a> </li> <li> 1.4 <a href="/book/es/v2/Inicio---Sobre-el-Control-de-Versiones-La-L%c3%adnea-de-Comandos">La Línea de Comandos</a> </li> <li> 1.5 <a href="/book/es/v2/Inicio---Sobre-el-Control-de-Versiones-Instalaci%c3%b3n-de-Git">Instalación de Git</a> </li> <li> 1.6 <a href="/book/es/v2/Inicio---Sobre-el-Control-de-Versiones-Configurando-Git-por-primera-vez">Configurando Git por primera vez</a> </li> <li> 1.7 <a href="/book/es/v2/Inicio---Sobre-el-Control-de-Versiones-%c2%bfC%c3%b3mo-obtener-ayuda%3F">¿Cómo obtener ayuda?</a> </li> <li> 1.8 <a href="/book/es/v2/Inicio---Sobre-el-Control-de-Versiones-Resumen">Resumen</a> </li> </ol> </li> <li class='chapter'> <h2>2. <a href="/book/es/v2/Fundamentos-de-Git-Obteniendo-un-repositorio-Git">Fundamentos de Git</a></h2> <ol> <li> 2.1 <a href="/book/es/v2/Fundamentos-de-Git-Obteniendo-un-repositorio-Git">Obteniendo un repositorio Git</a> </li> <li> 2.2 <a href="/book/es/v2/Fundamentos-de-Git-Guardando-cambios-en-el-Repositorio">Guardando cambios en el Repositorio</a> </li> <li> 2.3 <a href="/book/es/v2/Fundamentos-de-Git-Ver-el-Historial-de-Confirmaciones">Ver el Historial de Confirmaciones</a> </li> <li> 2.4 <a href="/book/es/v2/Fundamentos-de-Git-Deshacer-Cosas">Deshacer Cosas</a> </li> <li> 2.5 <a href="/book/es/v2/Fundamentos-de-Git-Trabajar-con-Remotos">Trabajar con Remotos</a> </li> <li> 2.6 <a href="/book/es/v2/Fundamentos-de-Git-Etiquetado">Etiquetado</a> </li> <li> 2.7 <a href="/book/es/v2/Fundamentos-de-Git-Alias-de-Git">Alias de Git</a> </li> <li> 2.8 <a href="/book/es/v2/Fundamentos-de-Git-Resumen">Resumen</a> </li> </ol> </li> <li class='chapter'> <h2>3. <a href="/book/es/v2/Ramificaciones-en-Git-%c2%bfQu%c3%a9-es-una-rama%3F">Ramificaciones en Git</a></h2> <ol> <li> 3.1 <a href="/book/es/v2/Ramificaciones-en-Git-%c2%bfQu%c3%a9-es-una-rama%3F">¿Qué es una rama?</a> </li> <li> 3.2 <a href="/book/es/v2/Ramificaciones-en-Git-Procedimientos-B%c3%a1sicos-para-Ramificar-y-Fusionar">Procedimientos Básicos para Ramificar y Fusionar</a> </li> <li> 3.3 <a href="/book/es/v2/Ramificaciones-en-Git-Gesti%c3%b3n-de-Ramas">Gestión de Ramas</a> </li> <li> 3.4 <a href="/book/es/v2/Ramificaciones-en-Git-Flujos-de-Trabajo-Ramificados">Flujos de Trabajo Ramificados</a> </li> <li> 3.5 <a href="/book/es/v2/Ramificaciones-en-Git-Ramas-Remotas">Ramas Remotas</a> </li> <li> 3.6 <a href="/book/es/v2/Ramificaciones-en-Git-Reorganizar-el-Trabajo-Realizado">Reorganizar el Trabajo Realizado</a> </li> <li> 3.7 <a href="/book/es/v2/Ramificaciones-en-Git-Recapitulaci%c3%b3n">Recapitulación</a> </li> </ol> </li> <li class='chapter'> <h2>4. <a href="/book/es/v2/Git-en-el-Servidor-Los-Protocolos">Git en el Servidor</a></h2> <ol> <li> 4.1 <a href="/book/es/v2/Git-en-el-Servidor-Los-Protocolos">Los Protocolos</a> </li> <li> 4.2 <a href="/book/es/v2/Git-en-el-Servidor-Configurando-Git-en-un-servidor">Configurando Git en un servidor</a> </li> <li> 4.3 <a href="/book/es/v2/Git-en-el-Servidor-Generando-tu-clave-p%c3%bablica-SSH">Generando tu clave pública SSH</a> </li> <li> 4.4 <a href="/book/es/v2/Git-en-el-Servidor-Configurando-el-servidor">Configurando el servidor</a> </li> <li> 4.5 <a href="/book/es/v2/Git-en-el-Servidor-El-demonio-Git">El demonio Git</a> </li> <li> 4.6 <a href="/book/es/v2/Git-en-el-Servidor-HTTP-Inteligente">HTTP Inteligente</a> </li> <li> 4.7 <a href="/book/es/v2/Git-en-el-Servidor-GitWeb">GitWeb</a> </li> <li> 4.8 <a href="/book/es/v2/Git-en-el-Servidor-GitLab">GitLab</a> </li> <li> 4.9 <a href="/book/es/v2/Git-en-el-Servidor-Git-en-un-alojamiento-externo">Git en un alojamiento externo</a> </li> <li> 4.10 <a href="/book/es/v2/Git-en-el-Servidor-Resumen">Resumen</a> </li> </ol> </li> <li class='chapter'> <h2>5. <a href="/book/es/v2/Git-en-entornos-distribuidos-Flujos-de-trabajo-distribuidos">Git en entornos distribuidos</a></h2> <ol> <li> 5.1 <a href="/book/es/v2/Git-en-entornos-distribuidos-Flujos-de-trabajo-distribuidos">Flujos de trabajo distribuidos</a> </li> <li> 5.2 <a href="/book/es/v2/Git-en-entornos-distribuidos-Contribuyendo-a-un-Proyecto">Contribuyendo a un Proyecto</a> </li> <li> 5.3 <a href="/book/es/v2/Git-en-entornos-distribuidos-Manteniendo-un-proyecto">Manteniendo un proyecto</a> </li> <li> 5.4 <a href="/book/es/v2/Git-en-entornos-distribuidos-Resumen">Resumen</a> </li> </ol> </li> </ol> </div> <div class='column-middle'> <ol class='book-toc'> <li class='chapter'> <h2>6. <a href="/book/es/v2/GitHub-Creaci%c3%b3n-y-configuraci%c3%b3n-de-la-cuenta">GitHub</a></h2> <ol> <li> 6.1 <a href="/book/es/v2/GitHub-Creaci%c3%b3n-y-configuraci%c3%b3n-de-la-cuenta">Creación y configuración de la cuenta</a> </li> <li> 6.2 <a href="/book/es/v2/GitHub-Participando-en-Proyectos">Participando en Proyectos</a> </li> <li> 6.3 <a href="/book/es/v2/GitHub-Mantenimiento-de-un-proyecto">Mantenimiento de un proyecto</a> </li> <li> 6.4 <a href="/book/es/v2/GitHub-Gesti%c3%b3n-de-una-organizaci%c3%b3n">Gestión de una organización</a> </li> <li> 6.5 <a href="/book/es/v2/GitHub-Scripting-en-GitHub">Scripting en GitHub</a> </li> <li> 6.6 <a href="/book/es/v2/GitHub-Resumen">Resumen</a> </li> </ol> </li> <li class='chapter'> <h2>7. <a href="/book/es/v2/Herramientas-de-Git-Revisi%c3%b3n-por-selecci%c3%b3n">Herramientas de Git</a></h2> <ol> <li> 7.1 <a href="/book/es/v2/Herramientas-de-Git-Revisi%c3%b3n-por-selecci%c3%b3n">Revisión por selección</a> </li> <li> 7.2 <a href="/book/es/v2/Herramientas-de-Git-Organizaci%c3%b3n-interactiva">Organización interactiva</a> </li> <li> 7.3 <a href="/book/es/v2/Herramientas-de-Git-Guardado-r%c3%a1pido-y-Limpieza">Guardado rápido y Limpieza</a> </li> <li> 7.4 <a href="/book/es/v2/Herramientas-de-Git-Firmando-tu-trabajo">Firmando tu trabajo</a> </li> <li> 7.5 <a href="/book/es/v2/Herramientas-de-Git-Buscando">Buscando</a> </li> <li> 7.6 <a href="/book/es/v2/Herramientas-de-Git-Reescribiendo-la-Historia">Reescribiendo la Historia</a> </li> <li> 7.7 <a href="/book/es/v2/Herramientas-de-Git-Reiniciar-Desmitificado">Reiniciar Desmitificado</a> </li> <li> 7.8 <a href="/book/es/v2/Herramientas-de-Git-Fusi%c3%b3n-Avanzada">Fusión Avanzada</a> </li> <li> 7.9 <a href="/book/es/v2/Herramientas-de-Git-Rerere">Rerere</a> </li> <li> 7.10 <a href="/book/es/v2/Herramientas-de-Git-Haciendo-debug-con-Git">Haciendo debug con Git</a> </li> <li> 7.11 <a href="/book/es/v2/Herramientas-de-Git-Subm%c3%b3dulos">Submódulos</a> </li> <li> 7.12 <a href="/book/es/v2/Herramientas-de-Git-Agrupaciones">Agrupaciones</a> </li> <li> 7.13 <a href="/book/es/v2/Herramientas-de-Git-Replace">Replace</a> </li> <li> 7.14 <a href="/book/es/v2/Herramientas-de-Git-Almacenamiento-de-credenciales">Almacenamiento de credenciales</a> </li> <li> 7.15 <a href="/book/es/v2/Herramientas-de-Git-Resumen">Resumen</a> </li> </ol> </li> <li class='chapter'> <h2>8. <a href="/book/es/v2/Personalizaci%c3%b3n-de-Git-Configuraci%c3%b3n-de-Git">Personalización de Git</a></h2> <ol> <li> 8.1 <a href="/book/es/v2/Personalizaci%c3%b3n-de-Git-Configuraci%c3%b3n-de-Git">Configuración de Git</a> </li> <li> 8.2 <a href="/book/es/v2/Personalizaci%c3%b3n-de-Git-Git-Attributes">Git Attributes</a> </li> <li> 8.3 <a href="/book/es/v2/Personalizaci%c3%b3n-de-Git-Puntos-de-enganche-en-Git">Puntos de enganche en Git</a> </li> <li> 8.4 <a href="/book/es/v2/Personalizaci%c3%b3n-de-Git-Un-ejemplo-de-implantaci%c3%b3n-de-una-determinada-pol%c3%adtica-en-Git">Un ejemplo de implantación de una determinada política en Git</a> </li> <li> 8.5 <a href="/book/es/v2/Personalizaci%c3%b3n-de-Git-Recapitulaci%c3%b3n">Recapitulación</a> </li> </ol> </li> <li class='chapter'> <h2>9. <a href="/book/es/v2/Git-y-Otros-Sistemas-Git-como-Cliente">Git y Otros Sistemas</a></h2> <ol> <li> 9.1 <a href="/book/es/v2/Git-y-Otros-Sistemas-Git-como-Cliente">Git como Cliente</a> </li> <li> 9.2 <a href="/book/es/v2/Git-y-Otros-Sistemas-Migraci%c3%b3n-a-Git">Migración a Git</a> </li> <li> 9.3 <a href="/book/es/v2/Git-y-Otros-Sistemas-Resumen">Resumen</a> </li> </ol> </li> <li class='chapter'> <h2>10. <a href="/book/es/v2/Los-entresijos-internos-de-Git-Fontaner%c3%ada-y-porcelana">Los entresijos internos de Git</a></h2> <ol> <li> 10.1 <a href="/book/es/v2/Los-entresijos-internos-de-Git-Fontaner%c3%ada-y-porcelana">Fontanería y porcelana</a> </li> <li> 10.2 <a href="/book/es/v2/Los-entresijos-internos-de-Git-Los-objetos-Git">Los objetos Git</a> </li> <li> 10.3 <a href="/book/es/v2/Los-entresijos-internos-de-Git-Referencias-Git">Referencias Git</a> </li> <li> 10.4 <a href="/book/es/v2/Los-entresijos-internos-de-Git-Archivos-empaquetadores">Archivos empaquetadores</a> </li> <li> 10.5 <a href="/book/es/v2/Los-entresijos-internos-de-Git-Las-especificaciones-para-hacer-referencia-a%e2%80%a6%e2%80%8b-refspec">Las especificaciones para hacer referencia a… (refspec)</a> </li> <li> 10.6 <a href="/book/es/v2/Los-entresijos-internos-de-Git-Protocolos-de-transferencia">Protocolos de transferencia</a> </li> <li> 10.7 <a href="/book/es/v2/Los-entresijos-internos-de-Git-Mantenimiento-y-recuperaci%c3%b3n-de-datos">Mantenimiento y recuperación de datos</a> </li> <li> 10.8 <a href="/book/es/v2/Los-entresijos-internos-de-Git-Variables-de-entorno" class="active">Variables de entorno</a> </li> <li> 10.9 <a href="/book/es/v2/Los-entresijos-internos-de-Git-Recapitulaci%c3%b3n">Recapitulación</a> </li> </ol> </li> </ol> </div> <div class='column-right'> <ol class='book-toc'> <li class='chapter'> <h2>A1. <a href="/book/es/v2/Ap%c3%a9ndice-A:-Git-en-otros-entornos-Interfaces-gr%c3%a1ficas">Apéndice A: Git en otros entornos</a></h2> <ol> <li> A1.1 <a href="/book/es/v2/Ap%c3%a9ndice-A:-Git-en-otros-entornos-Interfaces-gr%c3%a1ficas">Interfaces gráficas</a> </li> <li> A1.2 <a href="/book/es/v2/Ap%c3%a9ndice-A:-Git-en-otros-entornos-Git-en-Visual-Studio">Git en Visual Studio</a> </li> <li> A1.3 <a href="/book/es/v2/Ap%c3%a9ndice-A:-Git-en-otros-entornos-Git-en-Eclipse">Git en Eclipse</a> </li> <li> A1.4 <a href="/book/es/v2/Ap%c3%a9ndice-A:-Git-en-otros-entornos-Git-con-Bash">Git con Bash</a> </li> <li> A1.5 <a href="/book/es/v2/Ap%c3%a9ndice-A:-Git-en-otros-entornos-Git-en-Zsh">Git en Zsh</a> </li> <li> A1.6 <a href="/book/es/v2/Ap%c3%a9ndice-A:-Git-en-otros-entornos-Git-en-Powershell">Git en Powershell</a> </li> <li> A1.7 <a href="/book/es/v2/Ap%c3%a9ndice-A:-Git-en-otros-entornos-Resumen">Resumen</a> </li> </ol> </li> <li class='chapter'> <h2>A2. <a href="/book/es/v2/Ap%c3%a9ndice-B:-Integrando-Git-en-tus-Aplicaciones-Git-mediante-L%c3%adnea-de-Comandos">Apéndice B: Integrando Git en tus Aplicaciones</a></h2> <ol> <li> A2.1 <a href="/book/es/v2/Ap%c3%a9ndice-B:-Integrando-Git-en-tus-Aplicaciones-Git-mediante-L%c3%adnea-de-Comandos">Git mediante Línea de Comandos</a> </li> <li> A2.2 <a href="/book/es/v2/Ap%c3%a9ndice-B:-Integrando-Git-en-tus-Aplicaciones-Libgit2">Libgit2</a> </li> <li> A2.3 <a href="/book/es/v2/Ap%c3%a9ndice-B:-Integrando-Git-en-tus-Aplicaciones-JGit">JGit</a> </li> </ol> </li> <li class='chapter'> <h2>A3. <a href="/book/es/v2/Ap%c3%a9ndice-C:-Comandos-de-Git-Configuraci%c3%b3n">Apéndice C: Comandos de Git</a></h2> <ol> <li> A3.1 <a href="/book/es/v2/Ap%c3%a9ndice-C:-Comandos-de-Git-Configuraci%c3%b3n">Configuración</a> </li> <li> A3.2 <a href="/book/es/v2/Ap%c3%a9ndice-C:-Comandos-de-Git-Obtener-y-Crear-Proyectos">Obtener y Crear Proyectos</a> </li> <li> A3.3 <a href="/book/es/v2/Ap%c3%a9ndice-C:-Comandos-de-Git-Seguimiento-B%c3%a1sico">Seguimiento Básico</a> </li> <li> A3.4 <a href="/book/es/v2/Ap%c3%a9ndice-C:-Comandos-de-Git-Ramificar-y-Fusionar">Ramificar y Fusionar</a> </li> <li> A3.5 <a href="/book/es/v2/Ap%c3%a9ndice-C:-Comandos-de-Git-Compartir-y-Actualizar-Proyectos">Compartir y Actualizar Proyectos</a> </li> <li> A3.6 <a href="/book/es/v2/Ap%c3%a9ndice-C:-Comandos-de-Git-Inspecci%c3%b3n-y-Comparaci%c3%b3n">Inspección y Comparación</a> </li> <li> A3.7 <a href="/book/es/v2/Ap%c3%a9ndice-C:-Comandos-de-Git-Depuraci%c3%b3n">Depuración</a> </li> <li> A3.8 <a href="/book/es/v2/Ap%c3%a9ndice-C:-Comandos-de-Git-Parcheo">Parcheo</a> </li> <li> A3.9 <a href="/book/es/v2/Ap%c3%a9ndice-C:-Comandos-de-Git-Correo-Electr%c3%b3nico">Correo Electrónico</a> </li> <li> A3.10 <a href="/book/es/v2/Ap%c3%a9ndice-C:-Comandos-de-Git-Sistemas-Externos">Sistemas Externos</a> </li> <li> A3.11 <a href="/book/es/v2/Ap%c3%a9ndice-C:-Comandos-de-Git-Administraci%c3%b3n">Administración</a> </li> <li> A3.12 <a href="/book/es/v2/Ap%c3%a9ndice-C:-Comandos-de-Git-Comandos-de-Fontaner%c3%ada">Comandos de Fontanería</a> </li> </ol> </li> </ol> </div> </div> </div> <span class="light" id="edition"> 2nd Edition </span> </div> <div id="main" data-pagefind-filter="category:book" data-pagefind-meta="category:Book" data-pagefind-weight="0.05" data-pagefind-body class="book edition2"> <h1>10.8 Los entresijos internos de Git - Variables de entorno</h1> <div> <h2 id="_variables_de_entorno">Variables de entorno</h2> <div class="paragraph"> <p>Git siempre se ejecuta dentro de un shell <code>bash</code>, y utiliza una serie de variables de entorno de shell para determinar cómo comportarse. En ocasiones, es muy útil saber cuáles son, y cómo pueden ser utilizadas para hacer que Git se comporte de la manera que deseas. Esta no es una lista exhaustiva de todas las variables de entorno a las que Git presta atención, pero cubriremos las más útiles.</p> </div> <div class="sect3"> <h3 id="_comportamiento_global">Comportamiento Global</h3> <div class="paragraph"> <p>Como programa de computadora que es, el comportamiento general de Git depende de variables de entorno.</p> </div> <div class="paragraph"> <p><strong><code>GIT_EXEC_PATH</code></strong> determina el sitio donde Git busca sus subprogramas (como <code>git-commit</code>, <code>git-diff</code>, y otros). Puedes comprobar la configuración actual ejecutando <code>git --exec-path</code>.</p> </div> <div class="paragraph"> <p><strong><code>HOME</code></strong> por regla general no se considera personalizable (demasiadas cosas dependen de él), pero es el sitio donde Git busca el archivo de configuración global. Si deseas una instalación de Git realmente portable, completa con configuración global, puedes sobreescribir <code>HOME</code> en el perfil de shell portable de Git.</p> </div> <div class="paragraph"> <p><strong><code>PREFIX</code></strong> es parecido, pero para la configuración del sistema. Git busca este archivo en <code>$PREFIX/etc/gitconfig</code>.</p> </div> <div class="paragraph"> <p><strong><code>GIT_CONFIG_NOSYSTEM</code></strong>, si está establecida, deshabilita el uso del archivo de configuración del sistema. Esto es útil si la configuración de tu sistema está interfiriendo con tus comandos, pero no tienes acceso para modificarlo o eliminarlo.</p> </div> <div class="paragraph"> <p><strong><code>GIT_PAGER</code></strong> controla el programa usado para mostrar la salida de varias páginas en la línea de comandos. Si no está establecida, será usado <code>PAGER</code> por defecto.</p> </div> <div class="paragraph"> <p><strong><code>GIT_EDITOR</code></strong> es el editor que Git lanzará cuando el usuario necesite editar un texto (un mensaje para confirmación de cambio, por ejemplo). Si no está establecida, será usado <code>EDITOR</code>.</p> </div> </div> <div class="sect3"> <h3 id="_ubicaciones_del_repositorio">Ubicaciones del Repositorio</h3> <div class="paragraph"> <p>Git utiliza varias variables de entorno para determinar la forma en que interactúa con el repositorio actual.</p> </div> <div class="paragraph"> <p><strong><code>GIT_DIR</code></strong> es la ubicación del directorio <code>.git</code>. Si no se especifica, Git subirá por el árbol de directorios hasta llegar a <code>~</code> o <code>/</code>, en busca de un directorio <code>.git</code> en cada directorio visitado.</p> </div> <div class="paragraph"> <p><strong><code>GIT_CEILING_DIRECTORIES</code></strong> controla el comportamiento de búsqueda del directorio <code>.git</code>. Si accedes a directorios que son lentos de cargar (tales como aquellos en un dispositivo de cinta magnética, o a través de una conexión de red lenta), es posible que desees que Git se detenga antes de lo establecido, especialmente si Git se invoca durante la construcción de tu indicador de shell.</p> </div> <div class="paragraph"> <p><strong><code>GIT_WORK_TREE</code></strong> es la ubicación de la raíz del directorio de trabajo para un repositorio con contenido. Si no se especifica, se utiliza el directorio padre de <code>$GIT_DIR</code>.</p> </div> <div class="paragraph"> <p><strong><code>GIT_INDEX_FILE</code></strong> es la ruta de acceso al archivo index (solo repositorios con contenido).</p> </div> <div class="paragraph"> <p><strong><code>GIT_OBJECT_DIRECTORY</code></strong> puede utilizarse para especificar la ubicación del directorio que normalmente reside en <code>.git/objects</code>.</p> </div> <div class="paragraph"> <p><strong><code>GIT_ALTERNATE_OBJECT_DIRECTORIES</code></strong> es una lista separada por dos puntos (formateada como <code>/dir/one:/dir/two:…</code>) que indica a Git dónde buscar objetos si no están en <code>GIT_OBJECT_DIRECTORY</code>. Si tienes muchos proyectos con archivos grandes que tienen exactamente el mismo contenido, puedes utilizar esto para evitar almacenar demasiadas copias de ellos.</p> </div> </div> <div class="sect3"> <h3 id="_especificaciones_de_rutas_de_acceso_pathspecs">Especificaciones de Rutas de Acceso (pathspecs)</h3> <div class="paragraph"> <p>Un <em>'pathspec</em>' se refiere a la forma de especificar rutas de acceso a las cosas en Git, incluyendo el uso de comodines. Se utilizan en el archivo <code>.gitignore</code>, pero también en la línea de comandos (<code>git add *.c</code>).</p> </div> <div class="paragraph"> <p><strong><code>GIT_GLOB_PATHSPECS</code> y <code>GIT_NOGLOB_PATHSPECS</code></strong> controlan el comportamiento por defecto de los comodines en las especificaciones de rutas de acceso. Si <code>GIT_GLOB_PATHSPECS</code> está establecida a 1, los caracteres de comodín actúan como comodines (lo cual es la situación por defecto); si <code>GIT_NOGLOB_PATHSPECS</code> está establecida a 1, los caracteres de comodín sólo coinciden consigo mismos, lo que significa que algo como <code>\*.c</code> solo coincidiría con un archivo <em>llamado</em> <code>*.c</code>, en lugar de cualquier archivo cuyo nombre acabe en <code>.c</code>. Puedes sobreescribir esto para casos individuales iniciando la especificación de ruta de acceso con <code>:(glob)</code> o <code>:(literal)</code>, como en <code>:(glob)*.c</code>.</p> </div> <div class="paragraph"> <p><strong><code>GIT_LITERAL_PATHSPECS</code></strong> deshabilita los dos comportamientos anteriores; los caracteres de comodín no funcionarán, y la sobreescritura de prefijos estará deshabilitada también.</p> </div> <div class="paragraph"> <p><strong><code>GIT_ICASE_PATHSPECS</code></strong> establece todas las especificaciones de rutas de acceso para que funcionen de forma que no se diferencie entre mayúsculas y minúsculas (case-insensitive).</p> </div> </div> <div class="sect3"> <h3 id="_confirmaciones_committing">Confirmaciones (Committing)</h3> <div class="paragraph"> <p>La creación final de un objeto de confirmación de cambios en Git se realiza generalmente con <code>git-commit-tree</code>, que utiliza estas variables de entorno como su fuente primera de información, utilizando los valores de la configuración sólo si éstas no están presentes.</p> </div> <div class="paragraph"> <p><strong><code>GIT_AUTHOR_NAME</code></strong> es el nombre completo en el campo <em>'author</em>'.</p> </div> <div class="paragraph"> <p><strong><code>GIT_AUTHOR_EMAIL</code></strong> es el email para el campo <em>'author</em>'.</p> </div> <div class="paragraph"> <p><strong><code>GIT_AUTHOR_DATE</code></strong> es la fecha y hora utilizada para el campo <em>'author</em>'.</p> </div> <div class="paragraph"> <p><strong><code>GIT_COMMITTER_NAME</code></strong> establece el nombre completo para el campo <em>'committer</em>'.</p> </div> <div class="paragraph"> <p><strong><code>GIT_COMMITTER_EMAIL</code></strong> es la dirección de email para el campo <em>'committer</em>'.</p> </div> <div class="paragraph"> <p><strong><code>GIT_COMMITTER_DATE</code></strong> se utiliza para la fecha y hora en el campo <em>'committer</em>'.</p> </div> <div class="paragraph"> <p><strong><code>EMAIL</code></strong> es la dirección de email utilizada en caso de que el valor de configuración <code>user.email</code> no esté establecido. Si <em>éste</em> no está configurado, Git utilizará los nombres de usuario y equipo.</p> </div> </div> <div class="sect3"> <h3 id="_red">Red</h3> <div class="paragraph"> <p>Git utiliza la biblioteca <code>curl</code> para realizar operaciones de red sobre HTTP, así que <strong><code>GIT_CURL_VERBOSE</code></strong> le indica a Git que emita todos los mensajes generados por esta biblioteca. Esto es similar a hacer <code>curl -v</code> en la línea de comandos.</p> </div> <div class="paragraph"> <p><strong><code>GIT_SSL_NO_VERIFY</code></strong> indica a Git que no verifique los certificados SSL. Esto a veces puede ser necesario si estás utilizando un certificado autofirmado para servir un repositorio Git a través de HTTPS, o estás montando un servidor Git, pero todavía no has instalado un certificado completo.</p> </div> <div class="paragraph"> <p>Si la velocidad de datos de una operación de HTTP es menor de <strong><code>GIT_HTTP_LOW_SPEED_LIMIT</code></strong> bytes por segundo durante más de <strong><code>GIT_HTTP_LOW_SPEED_TIME</code></strong> segundos, Git abortará esa operación. Estos valores sobreescriben los valores de configuración <code>http.lowSpeedLimit</code> y <code>http.lowSpeedTime</code>.</p> </div> <div class="paragraph"> <p><strong><code>GIT_HTTP_USER_AGENT</code></strong> establece el texto de agente de usuario utilizado por Git cuando se comunica sobre HTTP. El valor predeterminado es similar a <code>git/2.0.0</code>.</p> </div> </div> <div class="sect3"> <h3 id="_diferencias_y_fusiones">Diferencias y Fusiones</h3> <div class="paragraph"> <p><strong><code>GIT_DIFF_OPTS</code></strong> es un nombre poco apropiado. Los únicos valores válidos son <code>-u<n></code> o <code>--unified=<n></code>, que controla el número de líneas de contexto mostradas en un comando <code>git diff</code>.</p> </div> <div class="paragraph"> <p><strong><code>GIT_EXTERNAL_DIFF</code></strong> se utiliza como para sobreescribir el valor de configuración <code>diff.external</code>. Si está establecido, Git invocará este programa cuando se ejecute <code>git diff</code>.</p> </div> <div class="paragraph"> <p><strong><code>GIT_DIFF_PATH_COUNTER</code></strong> y <strong><code>GIT_DIFF_PATH_TOTAL</code></strong> son útiles para el programa especificado en <code>GIT_EXTERNAL_DIFF</code> o <code>diff.external</code>. El primero representa el archivo de la serie (empezando en 1) que está siendo comparado, y el último es el número total de archivos en el lote.</p> </div> <div class="paragraph"> <p><strong><code>GIT_MERGE_VERBOSITY</code></strong> controla la salida de la estrategia de fusión recursiva. Los valores permitidos son los siguientes:</p> </div> <div class="ulist"> <ul> <li> <p>0 no muestra nada, excepto un simple mensaje de error, posiblemente.</p> </li> <li> <p>1 muestra sólo los conflictos.</p> </li> <li> <p>2 también muestra los cambios de los archivos.</p> </li> <li> <p>3 muestra cuando los archivos son ignorados porque no han sido modificados.</p> </li> <li> <p>4 muestra todas las rutas de acceso a medida que son procesadas.</p> </li> <li> <p>5 y muestra información de depuración detallada.</p> </li> </ul> </div> <div class="paragraph"> <p>El valor predeterminado es 2.</p> </div> </div> <div class="sect3"> <h3 id="_depuración">Depuración</h3> <div class="paragraph"> <p>¿Quieres saber lo que hace <em>realmente</em> Git? Git tiene un conjunto bastante completo de trazas incorporadas, y todo lo que hay que hacer es activarlas. Los posibles valores de estas variables son los siguientes:</p> </div> <div class="ulist"> <ul> <li> <p><em>'true</em>', <em>'1</em>', o <em>'2</em>' — la categoría de la traza se escribe a stderr — .</p> </li> <li> <p>Una ruta absuluta iniciada con <code>/</code> — la salida de la traza será escrita en ese archivo — .</p> </li> </ul> </div> <div class="paragraph"> <p><strong><code>GIT_TRACE</code></strong> controla las trazas generales, que no se ajustan a una categoría específica. Esto incluye la expansión de alias, y la delegación a otros subprogramas.</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ GIT_TRACE=true git lga 20:12:49.877982 git.c:554 trace: exec: 'git-lga' 20:12:49.878369 run-command.c:341 trace: run_command: 'git-lga' 20:12:49.879529 git.c:282 trace: alias expansion: lga => 'log' '--graph' '--pretty=oneline' '--abbrev-commit' '--decorate' '--all' 20:12:49.879885 git.c:349 trace: built-in: git 'log' '--graph' '--pretty=oneline' '--abbrev-commit' '--decorate' '--all' 20:12:49.899217 run-command.c:341 trace: run_command: 'less' 20:12:49.899675 run-command.c:192 trace: exec: 'less'</code></pre> </div> </div> <div class="paragraph"> <p><strong><code>GIT_TRACE_PACK_ACCESS</code></strong> controla el trazado de acceso a empaquetados (packfile). El primer campo es el archivo empaquetado que está siendo accedido, el segundo es el desplazamiento (offset) dentro del archivo:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ GIT_TRACE_PACK_ACCESS=true git status 20:10:12.081397 sha1_file.c:2088 .git/objects/pack/pack-c3fa...291e.pack 12 20:10:12.081886 sha1_file.c:2088 .git/objects/pack/pack-c3fa...291e.pack 34662 20:10:12.082115 sha1_file.c:2088 .git/objects/pack/pack-c3fa...291e.pack 35175 # […] 20:10:12.087398 sha1_file.c:2088 .git/objects/pack/pack-e80e...e3d2.pack 56914983 20:10:12.087419 sha1_file.c:2088 .git/objects/pack/pack-e80e...e3d2.pack 14303666 On branch master Your branch is up-to-date with 'origin/master'. nothing to commit, working directory clean</code></pre> </div> </div> <div class="paragraph"> <p><strong><code>GIT_TRACE_PACKET</code></strong> habilita el trazado a nivel de paquete para las operaciones de red.</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ GIT_TRACE_PACKET=true git ls-remote origin 20:15:14.867043 pkt-line.c:46 packet: git< # service=git-upload-pack 20:15:14.867071 pkt-line.c:46 packet: git< 0000 20:15:14.867079 pkt-line.c:46 packet: git< 97b8860c071898d9e162678ea1035a8ced2f8b1f HEAD\0multi_ack thin-pack side-band side-band-64k ofs-delta shallow no-progress include-tag multi_ack_detailed no-done symref=HEAD:refs/heads/master agent=git/2.0.4 20:15:14.867088 pkt-line.c:46 packet: git< 0f20ae29889d61f2e93ae00fd34f1cdb53285702 refs/heads/ab/add-interactive-show-diff-func-name 20:15:14.867094 pkt-line.c:46 packet: git< 36dc827bc9d17f80ed4f326de21247a5d1341fbc refs/heads/ah/doc-gitk-config # […]</code></pre> </div> </div> <div class="paragraph"> <p><strong><code>GIT_TRACE_PERFORMANCE</code></strong> controla el registro de datos de rendimiento. La salida muestra cuánto dura cada invocación particular de git.</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ GIT_TRACE_PERFORMANCE=true git gc 20:18:19.499676 trace.c:414 performance: 0.374835000 s: git command: 'git' 'pack-refs' '--all' '--prune' 20:18:19.845585 trace.c:414 performance: 0.343020000 s: git command: 'git' 'reflog' 'expire' '--all' Counting objects: 170994, done. Delta compression using up to 8 threads. Compressing objects: 100% (43413/43413), done. Writing objects: 100% (170994/170994), done. Total 170994 (delta 126176), reused 170524 (delta 125706) 20:18:23.567927 trace.c:414 performance: 3.715349000 s: git command: 'git' 'pack-objects' '--keep-true-parents' '--honor-pack-keep' '--non-empty' '--all' '--reflog' '--unpack-unreachable=2.weeks.ago' '--local' '--delta-base-offset' '.git/objects/pack/.tmp-49190-pack' 20:18:23.584728 trace.c:414 performance: 0.000910000 s: git command: 'git' 'prune-packed' 20:18:23.605218 trace.c:414 performance: 0.017972000 s: git command: 'git' 'update-server-info' 20:18:23.606342 trace.c:414 performance: 3.756312000 s: git command: 'git' 'repack' '-d' '-l' '-A' '--unpack-unreachable=2.weeks.ago' Checking connectivity: 170994, done. 20:18:25.225424 trace.c:414 performance: 1.616423000 s: git command: 'git' 'prune' '--expire' '2.weeks.ago' 20:18:25.232403 trace.c:414 performance: 0.001051000 s: git command: 'git' 'rerere' 'gc' 20:18:25.233159 trace.c:414 performance: 6.112217000 s: git command: 'git' 'gc'</code></pre> </div> </div> <div class="paragraph"> <p><strong><code>GIT_TRACE_SETUP</code></strong> muestra información que Git va descubriendo sobre el repositorio y el entorno con el que interactúa.</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ GIT_TRACE_SETUP=true git status 20:19:47.086765 trace.c:315 setup: git_dir: .git 20:19:47.087184 trace.c:316 setup: worktree: /Users/ben/src/git 20:19:47.087191 trace.c:317 setup: cwd: /Users/ben/src/git 20:19:47.087194 trace.c:318 setup: prefix: (null) On branch master Your branch is up-to-date with 'origin/master'. nothing to commit, working directory clean</code></pre> </div> </div> </div> <div class="sect3"> <h3 id="_varios">Varios</h3> <div class="paragraph"> <p><strong><code>GIT_SSH</code></strong>, si se especifica, es un programa que se invoca en lugar de <code>ssh</code> cuando Git intenta conectar a un equipo SSH. Se invoca como <code>$GIT_SSH [username@]host [-p <port>] <command></code>. Observa que esta no es la forma más fácil de personalizar como <code>ssh</code> es invocado; no soportará parámetros extra en la línea de comandos, de modo que tendrías que escribir un script envoltorio y hacer que <code>GIT_SSH</code> apunte a él. Es probablemente más fácil usar simplemente el archivo <code>~/.ssh/config</code> para esto.</p> </div> <div class="paragraph"> <p><strong><code>GIT_ASKPASS</code></strong> es una sobreescritura para el valor de configuración <code>core.askpass</code>. Este es el programa invocado cada vez que Git necesita pedir al usuario las credenciales, que puede mostrar un indicador similar a la línea de comandos, y debería devolver la respuesta en <code>stdout</code>. (Consulta <a href="/book/es/v2/ch00/r_credential_caching">Almacenamiento de credenciales</a> para más detalles acerca de este subsistema.)</p> </div> <div class="paragraph"> <p><strong><code>GIT_NAMESPACE</code></strong> controla el acceso a las referencias de un espacio de nombres, y es equivalente al indicador <code>--namespace</code>. Esto es principalmente útil en el lado servidor, donde puedes querer almacenar múltiples bifurcaciones (forks) de un único repositorio en un repositorio, solo manteniendo las referencias separadas.</p> </div> <div class="paragraph"> <p><strong><code>GIT_FLUSH</code></strong> puede usarse para forzar a Git a usar Entrada/Salida sin buffer cuando escribe de forma incremental a la salida estándar (stdout) . Un valor de 1 hace que Git actualice más a menudo, un valor de 0 hace que toda la salida sea con buffer. El valor por defecto (si esta variable no está definida) es elegir un esquema de buffer adecuado en función de la actividad y el modo de salida.</p> </div> <div class="paragraph"> <p><strong><code>GIT_REFLOG_ACTION</code></strong> te permite especificar el texto descriptivo escrito en el registro de referencias. Aquí tienes un ejemplo:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-console" data-lang="console">$ GIT_REFLOG_ACTION="my action" git commit --allow-empty -m 'my message' [master 9e3d55a] my message $ git reflog -1 9e3d55a HEAD@{0}: my action: my message</code></pre> </div> </div> </div> <div id="nav"><a href="/book/es/v2/Los-entresijos-internos-de-Git-Mantenimiento-y-recuperación-de-datos">prev</a> | <a href="/book/es/v2/Los-entresijos-internos-de-Git-Recapitulación">next</a></div> </div> </div> </div> </div> <footer> <div class="site-source"> <a href="/site">About this site</a><br> Patches, suggestions, and comments are welcome. </div> <div class="sfc-member"> Git is a member of <a href="/sfc">Software Freedom Conservancy</a> </div> </footer> <a href="#top" class="no-js scrollToTop" id="scrollToTop" data-label="Scroll to top"> <img src="/images/icons/chevron-up@2x.png" width="20" height="20" alt="scroll-to-top"/> </a> <script src="/js/jquery-1.7.1.min.js"></script> <script src="/js/jquery-ui-1.8.18.custom.min.js"></script> <script src="/js/jquery.defaultvalue.js"></script> <script src="/js/session.min.js"></script> <script src="/js/application.min.js"></script> </div> </body> </html>