Penyiapan lingkungan

Instalasi Git, tiga tingkat git config, penyetelan identitas, dan penamaan branch default.

Daftar isi

Sebelum perintah Git pertama dijalankan, lingkungan kerja perlu disiapkan: Git terpasang, identitas penulis commit tercatat, dan nama branch default ditetapkan. Topik ini membahas cara memeriksa instalasi, tiga tingkat konfigurasi Git, penyetelan identitas, dan penamaan branch default. Konfigurasi pada topik ini dilakukan sekali per mesin, dan hasilnya dipakai oleh seluruh topik pada jalur ini.

Memeriksa dan menginstal Git#

Periksa dahulu apakah Git sudah terpasang dengan menanyakan versinya.

bash
git --version
text Keluaran
git version 2.47.3

Keluaran di atas berasal dari sandbox yang menjalankan seluruh contoh pada jalur ini. Jalur ini ditulis untuk Git generasi modern, dan setiap perintah yang dipakai telah stabil sejak beberapa tahun terakhir, sehingga versi 2.40 ke atas memadai untuk mengikuti seluruh contoh.

Apabila Git belum terpasang, instal melalui pengelola paket sistem operasi masing-masing.

bash
# tidak-dijalankan
# perintah instalasi memerlukan hak administratif dan jaringan
# Debian/Ubuntu
sudo apt-get install git
# Fedora
sudo dnf install git
# macOS dengan Homebrew
brew install git

Pengguna Windows dapat memakai penginstal resmi Git for Windows yang menyertakan Git Bash, yaitu terminal bash berisi Git. Setelah instalasi selesai, git --version menampilkan versi yang baru terpasang.

Tiga tingkat konfigurasi#

Konfigurasi Git tersimpan pada tiga tingkat yang saling menimpa. Tingkat --system berlaku untuk semua pengguna pada satu mesin dan jarang disentuh. Tingkat --global berlaku untuk satu pengguna pada seluruh repository miliknya dan menjadi tempat konfigurasi pribadi seperti identitas. Tanpa opsi tingkat, git config menulis ke tingkat repository yang tersimpan di .git/config dan hanya berlaku untuk repository itu.

bash
# tidak-dijalankan
# konfigurasi global menulis ke berkas milik pengguna,
# sehingga pada sandbox contoh ini identitas disetel secara lokal saja
git config --global user.name "Budi Santoso"
git config --global user.email "[email protected]"

Nilai pada tingkat yang lebih sempit menimpa nilai pada tingkat yang lebih luas, sehingga identitas khusus untuk satu repository dapat disetel secara lokal tanpa mengubah konfigurasi global. Pembacaan nilai mengikuti urutan yang sama, yaitu nilai yang paling dekat dengan repository yang menang.

Identitas yang dibaca Git pada saat commit ditetapkan melalui dua kunci, yaitu user.name dan user.email. Contoh pada jalur ini menyetel identitas secara lokal pada setiap folder latihan.

bash
rm -rf /tmp/lab-config
mkdir /tmp/lab-config
cd /tmp/lab-config
git init -b main
git config user.name "Budi Santoso"
git config user.email "[email protected]"
git config user.name
text Keluaran
Initialized empty Git repository in /tmp/lab-config/.git/
Budi Santoso

Perintah git config user.name tanpa nilai di akhir membaca nilai kunci tersebut dari konfigurasi yang berlaku. Nilai identitas ditempelkan pada setiap commit secara permanen, sehingga mengubah konfigurasi setelahnya tidak mengubah identitas commit yang sudah ada.

Membaca konfigurasi yang berlaku#

Konfigurasi yang sedang berlaku dapat diperiksa tanpa menebak berkas mana yang menang. Perintah git config kunci membaca satu kunci setelah menerapkan urutan penimpaan antartingkat, sehingga jawabannya selalu sama dengan yang dipakai Git pada saat commit dibuat. Untuk melihat seluruh kunci milik repository, opsi --local membatasi daftar pada tingkat repository saja.

bash
cd /tmp/lab-config
git config --local --list
text Keluaran
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
user.name=Budi Santoso
[email protected]

Enam baris di atas adalah isi konfigurasi lokal repository latihan. Empat kunci core.* ditulis otomatis oleh git init, sedangkan dua kunci user.* berasal dari penyetelan identitas pada bagian sebelumnya. Apabila sebuah kunci tidak ditemukan di tingkat lokal maupun global, Git memakai nilai bawaannya dan menampilkannya ketika perilaku itu penting, misalnya saran nama branch pada saat git init dijalankan.

Editor pesan commit#

Editor pesan commit dipilih Git melalui urutan berikut: variabel lingkungan GIT_EDITOR, kunci konfigurasi core.editor, kemudian variabel VISUAL atau EDITOR milik shell, dan terakhir nilai bawaan. Setiap kali git commit dijalankan tanpa opsi -m, Git membuka editor tersebut berisi templat pesan yang sudah diberi komentar sebagai petunjuk. Baris yang diawali karakter pagar dibuang Git secara otomatis, sehingga pesan yang tersimpan hanya berisi teks yang benar-benar ditulis.

Nama branch default#

Branch default adalah branch yang dibuat bersama repository baru. Penamaannya berubah dari master menjadi main pada banyak layanan hosting selama beberapa tahun terakhir, sehingga proyek lama dan proyek baru dapat memakai nama yang berbeda. Sejak Git 2.28, nama branch awal dapat ditetapkan langsung pada saat repository dibuat melalui opsi -b.

bash
rm -rf /tmp/lab-branch
mkdir /tmp/lab-branch
cd /tmp/lab-branch
git init -b main
git branch --show-current
text Keluaran
Initialized empty Git repository in /tmp/lab-branch/.git/
main

Tanpa opsi -b, Git memakai nilai konfigurasi init.defaultBranch, dan apabila kunci itu tidak disetel, Git memakai master sambil menampilkan saran untuk menetapkan nama secara sadar. Jalur ini memakai main secara konsisten, dan seluruh contoh membuat repository dengan git init -b main agar hasilnya seragam.

Ringkasan#

  • git --version memeriksa instalasi, dan Git tersedia melalui pengelola paket pada semua sistem operasi utama.
  • Konfigurasi tersusun pada tiga tingkat yang saling menimpa: system, global, dan repository.
  • user.name dan user.email ditempelkan pada setiap commit pada saat commit dibuat.
  • git init -b main menetapkan nama branch awal secara eksplisit sejak Git 2.28.

Referensi#