Zoeken…


Syntaxis

  • git config [<bestandsoptie>] naam [waarde] # een van de meest voorkomende gevallen van git config

parameters

Parameter Details
--system Bewerkt het systeembrede configuratiebestand, dat voor elke gebruiker wordt gebruikt (onder Linux bevindt dit bestand zich op $(prefix)/etc/gitconfig )
--global Bewerkt het globale configuratiebestand, dat wordt gebruikt voor elke repository waaraan u werkt (onder Linux bevindt dit bestand zich op ~/.gitconfig
--local Bewerkt het respository-specifieke configuratiebestand, dat zich bevindt in .git/config in uw repository; dit is de standaardinstelling

Gebruikersnaam en e-mailadres

Direct nadat je Git hebt geïnstalleerd, moet je eerst je gebruikersnaam en e-mailadres instellen. Typ vanuit een shell:

git config --global user.name "Mr. Bean"
git config --global user.email [email protected]
  • git config is het commando om opties te krijgen of in te stellen
  • --global betekent dat het configuratiebestand dat specifiek is voor uw gebruikersaccount wordt bewerkt
  • user.name en user.email zijn de sleutels voor de configuratievariabelen; user is het gedeelte van het configuratiebestand. name en email zijn de namen van de variabelen.
  • "Mr. Bean" en [email protected] zijn de waarden die u in de twee variabelen opslaat. Let op de aanhalingstekens rond "Mr. Bean" , die nodig zijn omdat de waarde die u opslaat een spatie bevat.

Meerdere git-configuraties

Je hebt maximaal 5 bronnen voor git-configuratie:

  • 6 bestanden:
    • %ALLUSERSPROFILE%\Git\Config (alleen Windows)
    • (systeem) <git>/etc/gitconfig , waarbij <git> het git-installatiepad is.
      (in Windows is dit <git>\mingw64\etc\gitconfig )
    • (systeem) $XDG_CONFIG_HOME/git/config (alleen Linux / Mac)
    • (globaal) ~/.gitconfig (Windows: %USERPROFILE%\.gitconfig )
    • (lokaal) .git/config (binnen een git repo $GIT_DIR )
    • een speciaal bestand (met git config -f ), bijvoorbeeld gebruikt om de configuratie van submodules te wijzigen: git config -f .gitmodules ...
  • de opdrachtregel met git -c : git -c core.autocrlf=false fetch zou elke andere core.autocrlf door false , alleen voor dat fetch commando.

De volgorde is belangrijk: elke configuratie die in één bron is ingesteld, kan worden overschreven door een bron die eronder wordt vermeld.

git config --system/global/local is de opdracht om 3 van die bronnen te vermelden, maar alleen git config -l zou alle opgeloste configs weergeven.
"opgelost" betekent dat het alleen de laatste overschreven configuratie-waarde weergeeft.

Sinds git 2.8, als je wilt zien welke configuratie uit welk bestand komt, typ je:

git config --list --show-origin

Instelling welke editor te gebruiken

Er zijn verschillende manieren om in te stellen welke editor moet worden gebruikt voor vastleggen, rebasen, etc.

  • Wijzig de configuratie-instelling van core.editor .

    $ git config --global core.editor nano
    
  • Stel de omgevingsvariabele GIT_EDITOR .

    Voor één opdracht:

    $ GIT_EDITOR=nano git commit
    

    Of voor alle opdrachten die in een terminal worden uitgevoerd. Opmerking: dit is alleen van toepassing totdat u de terminal sluit.

    $ export GIT_EDITOR=nano
    
  • Om de editor voor alle terminalprogramma's te wijzigen, niet alleen Git, stelt u de omgevingsvariabele VISUAL of EDITOR . (Zie VISUAL versus EDITOR .)

    $ export EDITOR=nano
    

    Opmerking: zoals hierboven geldt dit alleen voor de huidige terminal; uw shell heeft meestal een configuratiebestand waarmee u het permanent kunt instellen. (Voeg bij bash bijvoorbeeld de bovenstaande regel toe aan uw ~/.bashrc of ~/.bash_profile .)

Sommige teksteditors (meestal GUI-versies) kunnen slechts één exemplaar tegelijk uitvoeren en worden over het algemeen afgesloten als u er al een exemplaar van hebt geopend. Als dit het geval is voor je teksteditor, zal Git het bericht Aborting commit due to empty commit message. zonder dat je eerst het commit bericht kunt bewerken. Als dit u overkomt, raadpleegt u de documentatie van uw teksteditor om te zien of deze een --wait vlag (of iets dergelijks) heeft waardoor het pauzeert totdat het document is gesloten.

Regeleindes configureren

Beschrijving

Wanneer u werkt met een team dat verschillende besturingssystemen (OS) gebruikt in het hele project, kunt u soms in de problemen komen bij het verwerken van regeleinden.

Microsoft Windows

Wanneer u werkt met het Microsoft Windows-besturingssysteem (OS), zijn de regeleinden normaal gesproken van vorm - regelterugloop + regelinvoer (CR + LF). Het openen van een bestand dat is bewerkt met een Unix-machine zoals Linux of OSX kan problemen veroorzaken, waardoor het lijkt alsof tekst helemaal geen regeleinden heeft. Dit komt door het feit dat Unix-systemen alleen verschillende regeleinden van formulierlijnfeeds (LF) toepassen.

Om dit op te lossen, kunt u de volgende instructie uitvoeren

git config --global core.autocrlf=true

Bij het afrekenen zorgt deze instructie ervoor dat regeleinden worden geconfigureerd in overeenstemming met Microsoft Windows OS (LF -> CR + LF)

Unix Based (Linux / OSX)

Evenzo kunnen er problemen optreden wanneer de gebruiker op Unix-gebaseerd besturingssysteem probeert bestanden te lezen die zijn bewerkt op Microsoft Windows OS. Om te voorkomen dat onverwachte problemen worden uitgevoerd

git config --global core.autocrlf=input

Bij commit verandert dit de regeleindes van CR + LF -> + LF

configuratie voor slechts één opdracht

u kunt -c <name>=<value> gebruiken om slechts één configuratie toe te voegen.

Om als een andere gebruiker te committeren zonder uw instellingen in .gitconfig te hoeven wijzigen:

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

Opmerking: voor dat voorbeeld hoef je niet zowel user.name als user.email , git zal de ontbrekende informatie van de vorige commits aanvullen.

Stel een proxy in

Als je achter een proxy zit, moet je Git erover vertellen:

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

Als u niet meer achter een proxy zit:

git config --global --unset http.proxy

Typefouten automatisch corrigeren

git config --global help.autocorrect 17

Dit maakt autocorrectie mogelijk in git en zal je vergeven voor je kleine fouten (bijv. git stats plaats van git status ). De parameter die u help.autocorrect bij help.autocorrect bepaalt hoe lang het systeem moet wachten, in tienden van seconden, voordat het automatisch gecorrigeerde commando wordt toegepast. In het bovenstaande commando betekent 17 dat git 1,7 seconden moet wachten voordat het automatisch gecorrigeerde commando wordt toegepast.

Grotere fouten worden echter beschouwd als ontbrekende opdrachten, dus het typen van iets als git testingit zou resulteren in testingit is not a git command.

Lijst en bewerk de huidige configuratie

Met Git config kun je aanpassen hoe git werkt. Het wordt vaak gebruikt om uw naam en e-mailadres of favoriete editor in te stellen of hoe samenvoegingen moeten worden gedaan.

Om de huidige configuratie te zien.

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

Om de configuratie te bewerken:

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

Als u van plan bent dat de wijziging waar is voor al uw repositories, gebruik dan --global

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

U kunt opnieuw een lijst maken om uw wijzigingen te bekijken.

Meerdere gebruikersnamen en e-mailadres

Sinds Git 2.13 kunnen meerdere gebruikersnamen en e-mailadressen worden geconfigureerd met behulp van een mapfilter.

Voorbeeld voor Windows:

.gitconfig

Bewerken: git config --global -e

Toevoegen:

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

[includeIf "gitdir:D:/opensource/"]
  path = .gitconfig-opensource.config
Notes
  • De volgorde is afhankelijk, de laatste die overeenkomt met "overwinningen".
  • de / aan het einde is nodig - bijv. "gitdir:D:/work" zal niet werken.
  • het gitdir: voorvoegsel is vereist.

.gitconfig-work.config

Bestand in dezelfde map als .gitconfig

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

.gitconfig-opensource.config

Bestand in dezelfde map als .gitconfig

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

Voorbeeld voor Linux

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

De bestandsinhoud en notities onder Windows.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow