Sök…


Syntax

  • git config [<fil-option>] namn [värde] # ett av de vanligare fallen för git config

parametrar

Parameter detaljer
--system Redigerar den systemomfattande konfigurationsfilen som används för alla användare (på Linux finns den här filen på $(prefix)/etc/gitconfig )
--global Redigerar den globala konfigurationsfilen som används för varje arkiv du arbetar med (på Linux finns den här filen på ~/.gitconfig
--local Redigerar den arkivspecifika konfigurationsfilen, som finns på .git/config i ditt arkiv; detta är standardinställningen

Användarnamn och e-postadress

Strax efter att du installerat Git är det första du bör göra att ange ditt användarnamn och din e-postadress. Skriv från ett skal:

git config --global user.name "Mr. Bean"
git config --global user.email [email protected]
  • git config är kommandot för att få eller ställa in alternativ
  • --global innebär att konfigurationsfilen som är specifik för ditt användarkonto kommer att redigeras
  • user.name och user.email är nycklarna för konfigurationsvariablerna; user är avsnittet i konfigurationsfilen. name och email är variablerna.
  • "Mr. Bean" och [email protected] är värdena som du lagrar i de två variablerna. Notera citaten runt "Mr. Bean" , som krävs eftersom värdet du lagrar innehåller ett mellanslag.

Flera git-konfigurationer

Du har upp till 5 källor för GIT-konfiguration:

  • 6 filer:
    • %ALLUSERSPROFILE%\Git\Config (endast Windows)
    • (system) <git>/etc/gitconfig , med <git> som git-installationsvägen.
      (på Windows är det <git>\mingw64\etc\gitconfig )
    • (system) $XDG_CONFIG_HOME/git/config (endast Linux / Mac)
    • (global) ~/.gitconfig (Windows: %USERPROFILE%\.gitconfig )
    • (lokalt) .git/config (inom en git repo $GIT_DIR )
    • en dedikerad fil (med git config -f ), som till exempel används för att modifiera konfigureringen av undermoduler: git config -f .gitmodules ...
  • kommandoraden med git -c : git -c core.autocrlf=false fetch skulle åsidosätta alla andra core.autocrlf till false , bara för att fetch kommandot.

Ordningen är viktig: alla konfigurationer som ställts in i en källa kan åsidosättas av en källa som anges nedan.

git config --system/global/local är kommandot för att lista 3 av dessa källor, men bara git config -l skulle lista alla lösta konfigurationer.
"upplöst" betyder att det bara listar det slutliga åsidosatta konfigurationsvärdet.

Sedan git 2.8, om du vill se vilken konfigurering som kommer från vilken fil, skriver du:

git config --list --show-origin

Ställer in vilken redigerare som ska användas

Det finns flera sätt att ställa in vilken redigerare som ska användas för att begå, återföra, etc.

  • Ändra core.editor .

    $ git config --global core.editor nano
    
  • Ställ in GIT_EDITOR .

    För ett kommando:

    $ GIT_EDITOR=nano git commit
    

    Eller för alla kommandon som körs i en terminal. Obs: Detta gäller endast tills du stänger terminalen.

    $ export GIT_EDITOR=nano
    
  • För att ändra redigeraren för alla terminalprogram, inte bara Git, ställer du in VISUAL eller EDITOR . (Se VISUAL vs EDITOR .)

    $ export EDITOR=nano
    

    Obs: Som ovan gäller detta endast den aktuella terminalen; ditt skal har vanligtvis en konfigurationsfil som låter dig ställa in den permanent. (Vid bash , till exempel lägga ovanstående rad i din ~/.bashrc eller ~/.bash_profile .)

Vissa textredigerare (mestadels GUI-versioner) kör bara en instans i taget och avslutar i allmänhet om du redan har en instans av dem öppna. Om detta är fallet för din textredigerare kommer Git att skriva ut meddelandet Aborting commit due to empty commit message. utan att tillåta dig att redigera åtagandemeddelandet först. Om detta händer med dig, konsultera din textredaktörs dokumentation för att se om den har en - --wait flagga (eller liknande) som gör att det pausar tills dokumentet är stängt.

Konfigurera linjeavslut

Beskrivning

När du arbetar med ett team som använder olika operativsystem (OS) i hela projektet kan du ibland stöta på problem när du hanterar linjeslut.

Microsoft Windows

När du arbetar med Microsoft Windows operativsystem (OS), är linjen slutar normalt av form - vagn retur + radmatning (CR + LF). Att öppna en fil som har redigerats med Unix-maskin som Linux eller OSX kan orsaka problem, vilket gör att det verkar som att text inte har några linjeslut alls. Detta beror på det faktum att Unix-system endast använder olika linjeavslutningar av formlinjeflöden (LF).

För att fixa detta kan du köra följande instruktioner

git config --global core.autocrlf=true

Vid kassan kommer denna instruktion att se till att linjen slutar konfigureras i enlighet med Microsoft Windows OS (LF -> CR + LF)

Unix-baserad (Linux / OSX)

På liknande sätt kan det vara problem när användaren på Unix-baserade operativsystem försöker läsa filer som har redigerats på Microsoft Windows OS. För att förhindra att oväntade problem körs

git config --global core.autocrlf=input

Vid åtagande kommer detta att ändra linjeavslut från CR + LF -> + LF

konfiguration endast för ett kommando

Du kan använda -c <name>=<value> att lägga till en konfiguration endast för ett kommando.

Att engagera sig som en annan användare utan att behöva ändra dina inställningar i .gitconfig:

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

Obs: för det exemplet behöver du inte precisera både user.name och user.email , git kommer att slutföra den saknade informationen från de tidigare åtagandena.

Ställ in en proxy

Om du står bakom en proxy måste du berätta om det:

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

Om du inte längre står bakom en proxy:

git config --global --unset http.proxy

Autokorrigera skrivfel

git config --global help.autocorrect 17

Detta möjliggör autokorrigering i git och förlåter dig för dina mindre misstag (t.ex. git stats istället för git status ). Parametern som du tillhandahåller till help.autocorrect avgör hur länge systemet ska vänta, i en tiondel av en sekund, innan det automatiskt korrigerade kommandot tillämpas automatiskt. I kommandot ovan betyder 17 att git bör vänta 1,7 sekunder innan du använder det autokorrigerade kommandot.

Emellertid kommer större misstag att betraktas som saknade kommandon, så att skriva något som git testingit skulle resultera i att testingit is not a git command.

Lista och redigera den aktuella konfigurationen

Med Git-konfigurering kan du anpassa hur git fungerar. Det används vanligtvis för att ange ditt namn och e-postadress eller favoritredigerare eller hur sammanslagningar ska göras.

För att se den aktuella konfigurationen.

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

Så här redigerar du konfigureringen:

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

Om du tänker att förändringen ska vara sant för alla dina förvar, använd --global

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

Du kan lista igen för att se dina ändringar.

Flera användarnamn och e-postadress

Sedan Git 2.13 kan flera användarnamn och e-postadresser konfigureras med ett mappfilter.

Exempel för Windows:

.gitconfig

Redigera: git config --global -e

Lägg till:

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

[includeIf "gitdir:D:/opensource/"]
  path = .gitconfig-opensource.config
anteckningar
  • Ordningen är beroende, den sista som matchar "vinner".
  • den / i slutet behövs - t.ex. "gitdir:D:/work" fungerar inte.
  • gitdir: prefixet krävs.

.gitconfig-work.config

Fil i samma katalog som .gitconfig

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

.gitconfig-opensource.config

Fil i samma katalog som .gitconfig

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

Exempel för Linux

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

Filens innehåll och anteckningar under avsnitt Windows.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow