Cara menyiapkan identitas Git saya
(benji.dog)Cara menyiapkan identitas Git saya
-
Pendahuluan: Artikel ini menjelaskan cara mengelola identitas yang sesuai dengan lingkungan kerja melalui konfigurasi Git. Penulis menemukan cara menggunakan
includeIfuntuk menyertakan file berdasarkan kondisi tertentu. -
Konfigurasi Git:
- Dengan
includeIf, Anda dapat menyertakan file konfigurasi Git yang berbeda berdasarkan direktori tertentu. - Misalnya, Anda dapat mengatur agar direktori Git di bawah
~/codemenyertakan~/.config/git/personal, dan yang di bawah~/workmenyertakan~/.config/git/work. - Setiap file berisi informasi seperti nama pengguna, email, kunci penandatanganan, dan sebagainya.
- Dengan
-
Konfigurasi berbasis URL remote:
- Dengan
hasconfig:remote.*.url, Anda dapat menyusun konfigurasi Git secara kondisional saat URL remote tertentu ada. - Misalnya, pada direktori yang memiliki remote seperti
github.com:orgname/**, Anda dapat mengatur penggunaan~/.config/git/config-gh-org.
- Dengan
-
Pengaturan kunci SSH:
- Anda perlu menyiapkan kunci SSH agar dapat melakukan
pulldanpushke remote. - Di file
~/.ssh/config, Anda dapat mengaturHostdanIdentityFileagar setiap remote menggunakan kunci SSH yang sesuai. - Jika ingin memakai
IdentityFileyang berbeda untukHostnameyang sama, Anda harus mengatur nilaiHostyang berbeda.
- Anda perlu menyiapkan kunci SSH agar dapat melakukan
-
Menggunakan pengaturan SSH di Git config:
- Jika ingin menggunakan pengaturan SSH yang berbeda untuk repositori tertentu, Anda dapat mengganti URL dengan
insteadOfdi Git config. - Misalnya, alih-alih
github.com:orgname, Anda dapat menggunakangh-work:orgnameagar pengaturan SSH yang benar diterapkan.
- Jika ingin menggunakan pengaturan SSH yang berbeda untuk repositori tertentu, Anda dapat mengganti URL dengan
-
Hal yang perlu dipertimbangkan:
- Pendekatan ini mungkin memiliki masalah, dan penulis ingin mendapatkan masukan apakah ada cara yang lebih baik.
Referensi
- Penulis merujuk pada berbagai tulisan blog tentang cara mengelola banyak identitas Git.
1 komentar
Komentar Hacker News
Menjelaskan cara membedakan identitas SSH dan Git dengan menggunakan nama
gh-work. Semua repositori Git yang di-clone dengangh-workakan mengikuti konfigurasigh-work.incdan menggunakan kunci penandatanganan yang sama seperti konfigurasi SSHSaat bekerja di sebuah startup, ada seorang rekan kerja yang setiap hari mengganti identitasnya menjadi nama seperti dalam dongeng. Ini tidak membantu forensik version control, tetapi mungkin dimaksudkan untuk mengingatkan bahwa kita bisa menaruh apa saja dalam konfigurasi identitas
Mengusulkan cara menambahkan alias untuk identitas di
.gitconfig, lalu menjalankan perintahgit config-companyataugit config-personalsetelah menginisialisasi atau me-clone repositoriMenjelaskan cara mengelola submodule dengan mudah dengan menetapkan perintah SSH di
~/.gitconfig, tanpa perlu mengubah~/.ssh/configMemperkenalkan cara mengelola konfigurasi Git per direktori menggunakan
includeIfdanhasconfig:remote. Ini juga berguna saat me-clone repositoriSangat menyarankan agar konsultan menggunakan perangkat terpisah untuk pekerjaan, atau setidaknya pengguna OS yang terpisah. Menggunakan perangkat pribadi untuk pekerjaan bisa berisiko
Menjelaskan cara mengelola konfigurasi Git menggunakan NixOS dan home-manager. Menggunakan kondisi
hasconfig:remoteuntuk menetapkan email tertentuMenjelaskan cara mempertahankan kompleksitas SSH di
~/.sshdan menyertakan konfigurasi terpisah per klien atau proyek. Jika tidak ada nama host seperti GitHub, alias diberikanMenjelaskan cara memisahkan pekerjaan dan proyek pribadi menggunakan
gitdir.hasconfig:remotebenar-benar game changerMenjelaskan cara memisahkan repositori kerja dan pribadi ke dalam
~/devdan~/src. File konfigurasi Git yang berbeda disertakan berdasarkan masing-masing pathMenjelaskan cara menyiapkan file
.gitconfigpribadi dan kerja agar email serta kunci penandatanganan berbeda. Mengaktifkan penandatanganan GPG untuk menandatangani commit