Buscar..


Sintaxis

  • git config [<file-option>] name [value] # uno de los casos de uso más comunes de git config

Parámetros

Parámetro Detalles
--system Edita el archivo de configuración de todo el sistema, que se usa para cada usuario (en Linux, este archivo se encuentra en $(prefix)/etc/gitconfig )
--global Edita el archivo de configuración global, que se utiliza para cada repositorio en el que trabaja (en Linux, este archivo se encuentra en ~/.gitconfig
--local Edita el archivo de configuración específico del repositorio, que se encuentra en .git/config en su repositorio; esta es la configuracion por defecto

Nombre de usuario y dirección de correo electrónico

Inmediatamente después de instalar Git, lo primero que debe hacer es configurar su nombre de usuario y dirección de correo electrónico. Desde un shell, escriba:

git config --global user.name "Mr. Bean"
git config --global user.email [email protected]
  • git config es el comando para obtener o establecer opciones
  • --global significa que se --global el archivo de configuración específico para su cuenta de usuario
  • user.name y user.email son las claves para las variables de configuración; user es la sección del archivo de configuración. name y email son los nombres de las variables.
  • "Mr. Bean" y [email protected] son los valores que está almacenando en las dos variables. Tenga en cuenta las citas en torno a "Mr. Bean" , que son necesarias porque el valor que está almacenando contiene un espacio.

Configuraciones de git múltiples

Tienes hasta 5 fuentes para la configuración de git:

  • 6 archivos:
    • %ALLUSERSPROFILE%\Git\Config (solo Windows)
    • (system) <git>/etc/gitconfig , siendo <git> la ruta de instalación de git.
      (en Windows, es <git>\mingw64\etc\gitconfig )
    • (sistema) $XDG_CONFIG_HOME/git/config (solo Linux / Mac)
    • (global) ~/.gitconfig (Windows: %USERPROFILE%\.gitconfig )
    • (local) .git/config (dentro de un repositorio de git $GIT_DIR )
    • un archivo dedicado (con git config -f ), utilizado por ejemplo para modificar la configuración de los submódulos: git config -f .gitmodules ...
  • la línea de comandos con git -c : git -c core.autocrlf=false fetch anularía cualquier otra core.autocrlf a false , solo para ese comando fetch .

El orden es importante: cualquier configuración configurada en una fuente puede ser anulada por una fuente que se encuentra debajo.

git config --system/global/local es el comando para enumerar 3 de esas fuentes, pero solo git config -l enumera todas las configuraciones resueltas .
"resuelto" significa que solo lista el último valor de configuración anulado.

Desde git 2.8, si desea ver qué configuración proviene de qué archivo, escriba:

git config --list --show-origin

Configuración de qué editor utilizar

Hay varias formas de configurar qué editor usar para cometer, rebasar, etc.

  • Cambie la configuración del core.editor .

    $ git config --global core.editor nano
    
  • Establecer la variable de entorno GIT_EDITOR .

    Por un comando:

    $ GIT_EDITOR=nano git commit
    

    O para todos los comandos ejecutados en un terminal. Nota: Esto solo se aplica hasta que cierre el terminal.

    $ export GIT_EDITOR=nano
    
  • Para cambiar el editor para todos los programas de terminal, no solo Git, configure la EDITOR entorno VISUAL o EDITOR . (Ver VISUAL vs EDITOR .)

    $ export EDITOR=nano
    

    Nota: Como arriba, esto solo se aplica al terminal actual; tu shell normalmente tendrá un archivo de configuración que te permitirá configurarlo de forma permanente. (En bash , por ejemplo, agregue la línea anterior a su ~/.bashrc o ~/.bash_profile ).

Algunos editores de texto (en su mayoría GUI) solo ejecutarán una instancia a la vez, y generalmente se cerrarán si ya tiene una instancia abierta. Si este es el caso de su editor de texto, Git imprimirá el mensaje Aborting commit due to empty commit message. sin permitirte editar primero el mensaje de confirmación. Si esto le sucede a usted, consulte la documentación de su editor de texto para ver si tiene una --wait (o similar) que hará que se detenga hasta que se cierre el documento.

Configurando terminaciones de linea

Descripción

Cuando se trabaja con un equipo que usa diferentes sistemas operativos (OS) en todo el proyecto, a veces puede tener problemas al tratar con los finales de línea.

Microsoft Windows

Cuando se trabaja en el sistema operativo Microsoft Windows (OS), los finales de línea son normalmente de forma: retorno de carro + salto de línea (CR + LF). Abrir un archivo que ha sido editado usando una máquina Unix como Linux u OSX puede causar problemas, haciendo que parezca que el texto no tiene ningún final de línea. Esto se debe al hecho de que los sistemas Unix aplican diferentes finales de línea de las líneas de formulario (LF) solamente.

Para solucionar esto puedes ejecutar las siguientes instrucciones.

git config --global core.autocrlf=true

Al finalizar la compra , esta instrucción asegurará que los finales de línea estén configurados de acuerdo con el sistema operativo Microsoft Windows (LF -> CR + LF)

Basado en Unix (Linux / OSX)

Del mismo modo, puede haber problemas cuando el usuario en el sistema operativo basado en Unix intenta leer los archivos que se han editado en el sistema operativo Microsoft Windows. Con el fin de evitar cualquier problema inesperado ejecutar

git config --global core.autocrlf=input

Al confirmar , esto cambiará los finales de línea de CR + LF -> + LF

configuración para un solo comando

puede usar -c <name>=<value> para agregar una configuración solo para un comando.

Para comprometerse como otro usuario sin tener que cambiar su configuración en .gitconfig:

git -c user.email = mail@example commit -m "some message"

Nota: para ese ejemplo no necesita precisar tanto user.name como user.email , git completará la información faltante de las confirmaciones anteriores.

Configurar un proxy

Si estás detrás de un proxy, tienes que contárselo a git:

git config --global http.proxy http://my.proxy.com:portnumber

Si no estás más detrás de un proxy:

git config --global --unset http.proxy

Errores automáticos correctos

git config --global help.autocorrect 17

Esto permite la autocorrección en git y te perdonará tus errores menores (por ejemplo, git stats de git status lugar de git status de git status ). El parámetro que proporciona a help.autocorrect determina cuánto tiempo debe esperar el sistema, en décimas de segundo, antes de aplicar automáticamente el comando autocorrectado. En el comando anterior, 17 significa que git debe esperar 1.7 segundos antes de aplicar el comando autocorrectado.

Sin embargo, los errores más grandes se considerarán como comandos faltantes, por lo que escribir algo como git testingit podría resultar en testingit is not a git command.

Listar y editar la configuración actual.

Git config te permite personalizar cómo funciona git. Se usa comúnmente para establecer su nombre y correo electrónico o editor favorito o cómo se deben realizar las combinaciones.

Para ver la configuración actual.

$ git config --list
...
core.editor=vim
credential.helper=osxkeychain
...

Para editar la configuración:

$ git config <key> <value>    
$ git config core.ignorecase true

Si pretende que el cambio sea verdadero para todos sus repositorios, use --global

$ git config --global user.name "Your Name"
$ git config --global user.email "Your Email"
$ git config --global core.editor vi

Puedes listar de nuevo para ver tus cambios.

Múltiples nombres de usuario y dirección de correo electrónico

Desde Git 2.13, se pueden configurar varios nombres de usuario y direcciones de correo electrónico mediante el uso de un filtro de carpeta.

Ejemplo para Windows:

.gitconfig

Edición: git config --global -e

Añadir:

[includeIf "gitdir:D:/work"]
  path = .gitconfig-work.config    

[includeIf "gitdir:D:/opensource/"]
  path = .gitconfig-opensource.config
Notas
  • Se depende el orden, el último que coincida "gana".
  • se necesita / al final, por ejemplo, "gitdir:D:/work" no funcionará.
  • El gitdir: prefijo es obligatorio.

.gitconfig-work.config

Archivo en el mismo directorio que .gitconfig

[user]
  name = Money
  email = [email protected]

.gitconfig-opensource.config

Archivo en el mismo directorio que .gitconfig

[user]
  name = Nice
  email = [email protected]

Ejemplo para Linux

[includeIf "gitdir:~/work/"]
  path = .gitconfig-work
[includeIf "gitdir:~/opensource/"]
  path = .gitconfig-opensource

El contenido del archivo y las notas en la sección de Windows.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow