Bardzo podoba mi się sposób, w jaki Micah Henning przedstawił w jego artykule (zobacz Konfigurowanie tożsamości Git ) na ten temat. Fakt, że stosuje i wymusza tożsamość każdego utworzonego / sklonowanego repozytorium, jest dobrym sposobem, aby nie zapomnieć o ustawieniu tego za każdym razem.
Podstawowa konfiguracja gita
Usuń konfigurację bieżącego użytkownika w git:
$ git config --global --unset user.name
$ git config --global --unset user.email
$ git config --global --unset user.signingkey
Wymuś konfigurację tożsamości w każdym nowym repozytorium lokalnym:
$ git config --global user.useConfigOnly true
Utwórz alias Gita dla identity
polecenia, użyjemy później:
$ git config --global alias.identity '! git config user.name "$(git config user.$1.name)"; git config user.email "$(git config user.$1.email)"; git config user.signingkey "$(git config user.$1.signingkey)"; :'
Tworzenie tożsamości
Utwórz tożsamość za pomocą GPG (użyj gpg
lub w gpg2
zależności od tego, co masz w systemie). Powtórz kolejne kroki dla każdej tożsamości, której chcesz użyć.
Uwaga: [keyid]
tutaj jest identyfikator utworzonego tajnego klucza. Przykład tutaj:
sec rsa4096/8A5C011E4CE081A5 2020-06-09 [SC] [expires: 2021-06-09]
CCC470AE787C057557F421488C4C951E4CE081A5
uid [ultimate] Your Name <youremail@domain>
ssb rsa4096/1EA965889861C1C0 2020-06-09 [E] [expires: 2021-06-09]
8A5C011E4CE081A5
Część po sec rsa4096/
to identyfikator klucza.
$ gpg --full-gen-key
$ gpg --list-secret-keys --keyid-format LONG <youremail@domain>
$ gpg --armor --export [keyid]
Skopiuj blok kluczy publicznych i dodaj go do ustawień GitHub / GitProviderOfChoice jako klucz GPG.
Dodaj tożsamość do konfiguracji Git. Powtórz to również dla każdej tożsamości, którą chcesz dodać:
Uwaga: tutaj używam gitlab
aby nazwać swoją tożsamość, ale z pytaniem to może być cokolwiek, np: gitolite
czy github
, work
itp
$ git config --global user.gitlab.name "Your Name"
$ git config --global user.gitlab.email "youremail@domain"
$ git config --global user.gitlab.signingkey [keyid]
Skonfiguruj tożsamość dla repozytorium
Jeśli nowe repozytorium nie ma przypisanej tożsamości, po zatwierdzeniu pojawi się błąd przypominający o ustawieniu.
*** Please tell me who you are.
## parts of message skipped ##
fatal: no email was given and auto-detection is disabled
Określ tożsamość, którą chcesz w nowym repozytorium:
$ git identity gitlab
Jesteś teraz gotowy, aby zaangażować się w tożsamość gitlab .