git configΒΆ

Tot nu hebben we Git voornamelijk op onze eigen machine gebruikt. Op het moment dat je met meerdere personen in dezelfde repository gaat werken of als je repositories op internet gaat zetten is het beter om netjes een identiteit te plaatsen. Dit doe je met ‘git commit’.

dion@localhost repo_een]$ git log --all
commit 349bf475ecce786e90e6432bc1fd32c142d8ca37
Author: Dion Dresschers <dion@localhost.localdomain>
Date:   Fri Mar 13 08:46:07 2015 -0400

    Ook human-readible en inodes toegevoegd

commit e0d1981c46c1e25eb99379f1387e12f3dab0fffa
Author: Dion Dresschers <dion@localhost.localdomain>
Date:   Fri Mar 13 06:47:55 2015 -0400

    Nieuw bash script gemaakt

We zien dat nu de config gezet is op basis van je username in CentOS. We gaan dit nu aanpassen met ‘git config’, voor de ‘user.name’ en ‘user.email’:

dion@localhost repo_een]$ git config --global user.name "Dion H.J. Dresschers"
[dion@localhost repo_een]$ git config --global user.email "d.h.j.dresschers@hva.nl"

We kunnen nu als bonus een ‘commit’ doen om de gebruikersnaam te gebruiken (dit commando wordt altijd genoemd na een ‘commit’ als je gebruikersnaam nog niet gezet is).

[dion@localhost repo_een]$ git commit --amend --reset-author

Je ziet nu dat de gebruiker aangepast is.

dion@localhost repo_een]$ git log --all
commit 7bd88917abcb42626f541d3d7e884a19f1069a3c
Author: Dion H.J. Dresschers <d.h.j.dresschers@hva.nl>
Date:   Fri Mar 13 10:45:04 2015 -0400

    Gebruikersnaam gewijzigd

commit 349bf475ecce786e90e6432bc1fd32c142d8ca37
Author: Dion Dresschers <dion@localhost.localdomain>
Date:   Fri Mar 13 08:46:07 2015 -0400

    Ook human-readible en inodes toegevoegd

commit e0d1981c46c1e25eb99379f1387e12f3dab0fffa
Author: Dion Dresschers <dion@localhost.localdomain>
Date:   Fri Mar 13 06:47:55 2015 -0400

    Nieuw bash script gemaakt

De configuratie instellingen zoals je naam kunnen in verschillende files gedefinieerd zijn. Hieronder zie je die files geordend per prioriteit (waar ‘1’ de voorkeur heeft boven ‘2’).

  1. Repository Settings
    repository/.git/config’
  2. User Settings
    ‘~/.gitconfig’
  3. Global Settings
    ‘/etc/gitconfig’

Gaan we nu kijken in onze eigen settings, dan zien we dat voor de Repository Settings (dit is dus de file in de repostory zelf) onderstaande instelling staan. Deze Repository Settings hebben dus de hoogste prioriteit.

dion@localhost ~]$ cat ~/repo_een/.git/config
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[user]
    name = Dion H.J. Dresschers
    email = d.h.j.dresschers@hva.nl

Hierboven zien we dat ons commando ‘git config’ deze file heeft aangepast.

Deze heeft dus prioriteit boven de onderstaande user settings (dit is dus de setting in de user home directory).

[dion@localhost ~]$ cat ~/.gitconfig
    [user]
    name = Dion H.J. Dresschers
    email = d.h.j.dresschers@hva.nl

Voor de Global Settings zien we dat deze file standaard niet is aangemaakt en dat ons ‘git config’ commando weinig uitgericht heeft.

[dion@localhost ~]$ cat /etc/gitconfig
    cat: /etc/gitconfig: No such file or directory