Panduan

Konfigurasi Git: git config, nama, e-mail, dan kunci SSH

Diperbarui: · Skillaria.Top

Konfigurasi dasar Git adalah perintah git config --global user.name dan git config --global user.email, yang menandai setiap commit Anda, ditambah pilihan editor dan branch default. Untuk login ke GitHub tanpa kata sandi, buat kunci SSH dengan ssh-keygen -t ed25519, tambahkan kunci publiknya ke pengaturan akun, lalu periksa koneksi dengan ssh -T git@github.com.

Konfigurasi minimal Git dalam satu menit

Segera setelah instalasi, jalankan empat perintah berikut. Dua yang pertama wajib, karena tanpanya Git menolak membuat commit; dua lainnya menghindarkan ketidaknyamanan yang umum.

git config --global user.name "Anna Smirnova"
git config --global user.email "anna@example.com"
git config --global init.defaultBranch main
git config --global core.editor "code --wait"

Periksa hasilnya:

$ git config --global --list
user.name=Anna Smirnova
user.email=anna@example.com
init.defaultbranch=main
core.editor=code --wait

Berikutnya kita bahas apa fungsi setiap pengaturan, di mana Git menyimpannya, dan cara menyambungkan login ke GitHub lewat SSH.

Cara kerja git config: tiga tingkat pengaturan

Perintah git config membaca dan menulis parameter di salah satu dari tiga berkas. Tingkat yang lebih sempit menimpa tingkat yang lebih luas.

TingkatFlagBerkasBerlaku untuk
Sistem--system/etc/gitconfig (di Windows, di folder instalasi Git)Semua pengguna komputer
Global--global~/.gitconfig atau ~/.config/git/configSemua repositori Anda
Lokal--local (default).git/config di dalam repositoriHanya repositori ini

Hampir semua pengaturan pribadi ditetapkan secara global, dan pengecualiannya dilakukan secara lokal. Misalnya, e-mail kerja untuk proyek perusahaan diatur di dalam repositori tertentu tanpa flag --global.

Perintah git config yang berguna

git config user.email                    # tampilkan nilai saat ini
git config --list --show-origin          # semua pengaturan beserta asal berkasnya
git config --global --edit               # buka ~/.gitconfig di editor
git config --global --unset core.editor  # hapus parameter

Flag --show-origin adalah penolong terbaik saat debugging: ia menunjukkan mengapa e-mail Anda «salah», dengan menyebutkan berkas tempat nilai itu berasal.

Nama dan e-mail: bukan sekadar formalitas

Setiap commit menyimpan nama dan e-mail penulisnya secara permanen. Keduanya bukan login maupun kata sandi, dan Git tidak memverifikasinya. Namun GitHub dan GitLab mengaitkan commit dengan akun melalui e-mail: jika alamat tidak cocok dengan salah satu e-mail terverifikasi di profil, commit tidak dihitung dalam grafik aktivitas dan ditampilkan tanpa avatar.

Mengubah nama atau e-mail setelah itu tanpa menulis ulang riwayat tidak bisa dilakukan, jadi periksa pengaturan sebelum commit pertama.

Menyembunyikan e-mail asli

Jika repositorinya publik, e-mail Anda terlihat oleh siapa pun yang membuka riwayat. GitHub menawarkan alamat layanan berbentuk ID+username@users.noreply.github.com (di pengaturan Emails). Gunakan alamat itu di Git:

git config --global user.email "12345678+anna@users.noreply.github.com"

E-mail berbeda untuk kerja dan proyek pribadi

Agar tidak perlu mengatur setiap repositori kerja secara manual, gunakan include kondisional. Di ~/.gitconfig:

[includeIf "gitdir:~/work/"]
    path = ~/.gitconfig-work

Dan di ~/.gitconfig-work:

[user]
    email = anna@company.com

Sekarang semua repositori di dalam ~/work/ otomatis memakai e-mail kerja. Garis miring di akhir path wajib ada.

Pengaturan Git lain yang berguna

Editor

Git membuka editor untuk pesan commit, rebase interaktif, dan merge. Secara default sering kali yang terbuka adalah Vim. Pilihan lain:

git config --global core.editor "code --wait"   # VS Code
git config --global core.editor "nano"          # Nano
git config --global core.editor "subl -n -w"    # Sublime Text

Branch default

init.defaultBranch main menentukan nama branch pertama di repositori baru (tersedia sejak Git 2.28). Tanpa pengaturan ini, Git membuat master dan menampilkan saran untuk mengubah namanya.

Pergantian baris

git config --global core.autocrlf true    # Windows
git config --global core.autocrlf input   # macOS dan Linux

Dengan ini, repositori selalu menyimpan pergantian baris LF, dan di tim tidak muncul «perubahan» di setiap baris berkas.

Perilaku git pull

Jika strategi tidak diatur, Git modern akan meminta Anda memilih secara eksplisit ketika riwayat bercabang. Pilih salah satu:

git config --global pull.rebase false   # penggabungan (merge), perilaku default
git config --global pull.rebase true    # rebase, riwayat lurus
git config --global pull.ff only        # hanya pemajuan, selain itu error

Huruf non-ASCII pada nama berkas dan warna

git config --global core.quotepath false
git config --global color.ui auto

Alias

git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.lg "log --oneline --graph --decorate --all"
git config --global alias.last "log -1 HEAD"

Sekarang git lg menggambar graf branch, dan git last menampilkan commit terakhir.

Tampilan ~/.gitconfig setelah diatur

[user]
    name = Anna Smirnova
    email = anna@example.com
[init]
    defaultBranch = main
[core]
    editor = code --wait
    autocrlf = input
    quotepath = false
[pull]
    rebase = false
[alias]
    st = status
    lg = log --oneline --graph --decorate --all

Ini berkas teks biasa; Anda bisa mengeditnya langsung dan memindahkannya ke komputer lain.

Git login: cara masuk ke GitHub

Git tidak punya perintah git login — ini jebakan umum bagi pemula. Git tidak menyimpan «akun»; autentikasi terjadi ketika Anda menghubungi server (clone, push, fetch) melalui salah satu dari dua protokol.

HTTPSSSH
Alamathttps://github.com/user/repo.gitgit@github.com:user/repo.git
Yang membuktikan identitasToken akses atau login lewat browser (Credential Manager)Pasangan kunci SSH
Kata sandi akunTidak diterima sejak 2021Tidak diperlukan
Lebih nyaman untukWindows dengan Git Credential Manager, proxy perusahaanmacOS, Linux, server, CI

Login lewat HTTPS

Di Git for Windows dan build macOS dengan Git Credential Manager, pada git push pertama akan terbuka jendela browser untuk login ke GitHub, dan datanya disimpan di penyimpanan sistem. Alternatifnya adalah alat resmi GitHub CLI: perintah gh auth login memandu autentikasi dan sekaligus mengatur Git. Jika Anda ingin mengerjakan semuanya secara manual, buat Personal access token di pengaturan GitHub (Developer settings) dan masukkan token itu sebagai pengganti kata sandi.

SSH untuk Git: langkah demi langkah

Kunci SSH terdiri dari sepasang berkas: kunci privat tetap di komputer Anda, dan kunci publik diberikan kepada GitHub. Server memeriksa bahwa Anda memiliki bagian privatnya, dan kata sandi tidak pernah ditanyakan lagi.

Langkah 1. Periksa apakah sudah ada kunci

ls -la ~/.ssh

Jika sudah ada id_ed25519 dan id_ed25519.pub, lanjut ke langkah 3.

Langkah 2. Buat kunci

ssh-keygen -t ed25519 -C "anna@example.com"

Tekan Enter untuk menyimpan kunci di lokasi default, lalu tentukan frasa sandi; frasa ini melindungi kunci jika laptop Anda dicuri. Ed25519 adalah algoritma modern yang direkomendasikan. Jika sistem lama tidak mendukungnya, gunakan ssh-keygen -t rsa -b 4096 -C "anna@example.com".

Langkah 3. Tambahkan kunci ke ssh-agent

Agen menyimpan kunci yang sudah dibuka di memori, sehingga frasa sandi tidak perlu dimasukkan setiap kali push.

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

Di macOS, tambahkan ke ~/.ssh/config agar frasa sandi tersimpan di Keychain:

Host github.com
    AddKeysToAgent yes
    UseKeychain yes
    IdentityFile ~/.ssh/id_ed25519

lalu jalankan ssh-add --apple-use-keychain ~/.ssh/id_ed25519.

Langkah 4. Tambahkan kunci publik ke GitHub

cat ~/.ssh/id_ed25519.pub

Salin seluruh baris, mulai dari ssh-ed25519. Di GitHub buka Settings → SSH and GPG keys → New SSH key, tempel kuncinya, dan beri nama yang jelas, misalnya «Laptop 2026». Jangan pernah mengirim atau mempublikasikan berkas tanpa akhiran .pub; itu kunci privat.

Langkah 5. Periksa koneksi

$ ssh -T git@github.com
Hi anna! You've successfully authenticated, but GitHub does not provide shell access.

Saat pertama kali terhubung, SSH akan bertanya apakah host dipercaya. Bandingkan sidik jarinya dengan yang dipublikasikan dalam dokumentasi GitHub, lalu jawab yes.

Langkah 6. Ubah repositori ke SSH

Jika repositori dikloning lewat HTTPS, ganti alamat remote-nya:

git remote -v
git remote set-url origin git@github.com:anna/my-project.git
git push

Beberapa akun GitHub di satu komputer

Satu kunci SSH hanya bisa dikaitkan dengan satu akun GitHub. Untuk akun kerja dan akun pribadi, buat dua kunci dan alias host di ~/.ssh/config:

Host github-work
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_ed25519_work
    IdentitiesOnly yes

Kloning repositori kerja menggunakan alias: git clone git@github-work:company/app.git. Dikombinasikan dengan includeIf untuk e-mail, lingkungan kerja dan pribadi benar-benar terpisah.

Kesalahan umum saat konfigurasi

«Please tell me who you are»

user.name dan user.email belum diatur. Jalankan perintah di awal artikel ini, lalu ulangi commit.

«Permission denied (publickey)»

GitHub tidak menemukan kunci yang cocok. Periksa bahwa kunci sudah ditambahkan ke agen (ssh-add -l) dan bagian publiknya sudah ada di akun. Rincian lebih lanjut bisa dilihat dengan ssh -vT git@github.com.

«Support for password authentication was removed»

Anda memasukkan kata sandi akun saat bekerja lewat HTTPS. Gunakan token, login melalui Credential Manager, atau beralih ke SSH.

Commit di GitHub tanpa avatar

E-mail di git config user.email belum ditambahkan ke profil GitHub. Tambahkan di Settings → Emails; commit lama akan terkait otomatis.

Port 22 diblokir jaringan

GitHub juga menerima SSH di port 443. Di ~/.ssh/config tulis Host github.com, Hostname ssh.github.com, Port 443.

Urutan konfigurasi di komputer baru

  1. Pasang Git dan periksa git --version.
  2. Atur user.name, user.email, init.defaultBranch, dan editor.
  3. Pindahkan atau buat ~/.gitconfig dengan alias dan strategi pull.
  4. Buat kunci SSH baru (jangan menyalin kunci privat lama antar-mesin tanpa alasan kuat), lalu tambahkan ke GitHub.
  5. Periksa akses dengan ssh -T git@github.com, dan kloning repositori kerja dengan alamat SSH.

Kunci terpisah untuk setiap perangkat juga praktis: jika laptop hilang, cukup hapus satu kunci di GitHub tanpa mengganggu akses dari mesin lain.

Ringkasan

Konfigurasi Git terdiri dari tiga langkah: mengatur nama dan e-mail lewat git config --global, memilih editor, branch default, dan strategi pull, lalu menyambungkan login GitHub, yang paling sederhana dan andal lewat kunci SSH. Ingat bahwa tidak ada perintah git login: autentikasi terjadi saat Anda menghubungi server. Konfigurasi dan akses SSH dibahas dengan praktik dalam kursus Git.

Pertanyaan umum

Di mana pengaturan Git disimpan di Windows?

Pengaturan global ada di C:\Users\Nama\.gitconfig, dan pengaturan lokal di .git\config tiap repositori. Lokasi tepatnya bisa dilihat dengan git config --list --show-origin.

Bagaimana cara mengembalikan pengaturan Git ke awal?

Hapus atau ganti nama berkas ~/.gitconfig, maka Git kembali ke nilai default. Satu parameter saja dihapus dengan git config --global --unset nama.

Bisakah satu kunci SSH dipakai untuk GitHub dan GitLab?

Bisa, satu kunci publik boleh ditambahkan ke beberapa layanan. Satu-satunya batasan: di GitHub kunci terikat pada satu akun.

Bagaimana cara menandatangani commit agar muncul label Verified di GitHub?

Atur penandatanganan dengan kunci GPG atau SSH, misalnya git config --global gpg.format ssh, user.signingkey berisi path kunci publik, dan commit.gpgsign true, lalu tambahkan kunci itu di GitHub sebagai Signing key.

Perlukah mengatur ulang Git setelah pembaruan?

Tidak. Pembaruan tidak menyentuh ~/.gitconfig maupun kunci di ~/.ssh, jadi semua pengaturan tetap tersimpan.

Pelajari topik ini lewat video

Topik ini dibahas mendalam dengan praktik di kursus “Git dari Nol hingga Pengembang Percaya Diri”.

Ke kursus