Saya sangat menyukai cara Micah Henning dalam artikelnya (lihat Menyiapkan Identitas Git ) tentang subjek ini. Fakta bahwa ia menerapkan dan memaksa identitas ke setiap repositori yang dibuat / dikloning adalah cara yang baik untuk tidak lupa menyiapkannya setiap saat.
Konfigurasi git dasar
Batalkan pengaturan konfigurasi pengguna saat ini di git:
$ git config --global --unset user.name
$ git config --global --unset user.email
$ git config --global --unset user.signingkey
Paksa konfigurasi identitas pada setiap repositori lokal baru:
$ git config --global user.useConfigOnly true
Buat alias Git untuk identity
perintah, kita akan gunakan nanti:
$ 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)"; :'
Penciptaan identitas
Buat identitas dengan GPG (gunakan gpg
atau gpg2
bergantung pada apa yang Anda dapatkan di sistem Anda). Ulangi langkah selanjutnya untuk setiap identitas yang ingin Anda gunakan.
Catatan: [keyid]
berikut adalah pengenal dari kunci rahasia yang dibuat. Contoh di sini:
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]
Bagian 8A5C011E4CE081A5
setelahnya sec rsa4096/
adalah pengenal kunci.
$ gpg --full-gen-key
$ gpg --list-secret-keys --keyid-format LONG <youremail@domain>
$ gpg --armor --export [keyid]
Salin blok kunci publik dan tambahkan ke setelan GitHub / GitProviderOfChoice Anda sebagai kunci GPG.
Tambahkan identitas ke konfigurasi Git. Ulangi juga ini untuk setiap identitas yang ingin Anda tambahkan:
Catatan: di sini saya menggunakan gitlab
untuk nama identitas saya, tapi dari pertanyaan Anda itu bisa apa saja, ex: gitolite
atau github
, work
dll
$ git config --global user.gitlab.name "Your Name"
$ git config --global user.gitlab.email "youremail@domain"
$ git config --global user.gitlab.signingkey [keyid]
Siapkan identitas untuk repositori
Jika repo baru tidak memiliki identitas terkait, kesalahan akan muncul saat komit, mengingatkan Anda untuk menyetelnya.
*** Please tell me who you are.
## parts of message skipped ##
fatal: no email was given and auto-detection is disabled
Tentukan identitas yang Anda inginkan pada repositori baru:
$ git identity gitlab
Anda sekarang siap untuk berkomitmen dengan identitas gitlab .