Мені дуже подобається спосіб Міхе Геннінга у його статті (див. Налаштування ідентичності Git ) на цю тему. Те, що він застосовує та примушує ідентичність до кожного створеного / клонованого сховища, - це хороший спосіб не забувати кожного разу встановлювати це.
Основна конфігурація git
Видалити поточну конфігурацію користувача в git:
$ git config --global --unset user.name
$ git config --global --unset user.email
$ git config --global --unset user.signingkey
Примусово налаштувати ідентифікацію для кожного нового локального сховища:
$ git config --global user.useConfigOnly true
Створіть Git псевдонім для identity
команди, ми будемо використовувати згодом:
$ 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)"; :'
Створення ідентичності
Створіть особу за допомогою GPG (використовуйте gpg
або gpg2
залежно від того, що ви отримали у вашій системі). Повторіть наступні кроки для кожної особи, яку ви хочете використовувати.
Примітка: [keyid]
ось ідентифікатор створеного секретного ключа. Приклад тут:
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
Частина після того, як sec rsa4096/
це ідентифікатор ключа.
$ gpg --full-gen-key
$ gpg --list-secret-keys --keyid-format LONG <youremail@domain>
$ gpg --armor --export [keyid]
Скопіюйте блок відкритого ключа та додайте його до налаштувань GitHub / GitProviderOfChoice як ключ GPG.
Додайте ідентичність до конфігурації Git. Також повторіть це для кожної особи, яку ви хочете додати:
Примітка: тут я використовую , gitlab
щоб назвати мою особистість, але з вашого запитання , це може бути що завгодно, наприклад: gitolite
чи github
, work
і т.д.
$ git config --global user.gitlab.name "Your Name"
$ git config --global user.gitlab.email "youremail@domain"
$ git config --global user.gitlab.signingkey [keyid]
Налаштування ідентичності для сховища
Якщо у нового репо не пов’язана особа, на фіксації з’явиться помилка, яка нагадує вам встановити її.
*** Please tell me who you are.
## parts of message skipped ##
fatal: no email was given and auto-detection is disabled
Вкажіть особу, яку ви хочете, у новому сховищі:
$ git identity gitlab
Тепер ви готові погодитися з ідентичністю gitlab .