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.
git --versiongit version 2.47.3Keluaran 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.
# 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 gitPengguna 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.
# 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.
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.nameInitialized empty Git repository in /tmp/lab-config/.git/
Budi SantosoPerintah 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.
cd /tmp/lab-config
git config --local --listcore.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.
rm -rf /tmp/lab-branch
mkdir /tmp/lab-branch
cd /tmp/lab-branch
git init -b main
git branch --show-currentInitialized empty Git repository in /tmp/lab-branch/.git/
mainTanpa 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 --versionmemeriksa 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.namedanuser.emailditempelkan pada setiap commit pada saat commit dibuat.git init -b mainmenetapkan nama branch awal secara eksplisit sejak Git 2.28.
Referensi#
- git-config — Git Documentation — rujukan resmi tingkat konfigurasi dan seluruh kunci konfigurasi Git.
- First-Time Git Setup — Pro Git — panduan penyetelan identitas dan editor default pada penggunaan pertama.
- git-init — Git Documentation
— rujukan opsi
git init, termasuk-buntuk nama branch awal.