Git
Konfiguration
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
ochuser.email
är nycklarna för konfigurationsvariablerna;user
är avsnittet i konfigurationsfilen.name
ochemail
ä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 andracore.autocrlf
tillfalse
, bara för attfetch
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
ellerEDITOR
. (SeVISUAL
vsEDITOR
.)$ 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.