Version control seperti git sangat umum digunakan untuk mengembangkan software. Versioning memungkinkan kita untuk melacak perubahan pada source kode yang kita tulis, mengembalikan kode sebelumnya kita ubah, dan membuat cabang baru (branch) untuk membuat versi lain dari software yang kita tulis.

Menginstall git dari repository ubuntu

Sebelum menginstall git dari repository, pastikan untuk mengupdate index package lokal agar software yang kita install adalah versi terbaru.

sudo apt update

Setelah indeks selesai diupdate, kita bisa langsung menggunakan APT untuk menginstall git.

sudo apt install git

Untuk memastikan git telah terinstall di sistem, kita bisa mengeceknya dengan melihat versi git yang kita telah install.

> git --version

git version 2.34.1

Konfigurasi Git Menggunakan Global Config

Git tidak hanya digunakan sebagai alat untuk mengembangkan software oleh individu, tapi juga dapat digunakan sebagai alat untuk kolaborasi antar tim. Oleh karena itu, git perlu di konfigurasi dengan menambahkan nama dan kontak sesuai dengan yang kamu miliki. Sehingga git bukan hanya bisa melacak perubahan kode, tetapi juga siapa yang merubah kode jika dalam lingkup kolaborasi tim.

Untuk mengkonfigurasi git, kita bisa menggunakan perintah git config seperti contoh berikut.

git config --global user.name "Yaka Lee"
git config --global user.email global@kal.my.id

Global config akan digunakan secara global, jadi setiap kali kita menginisialisasi setiap project, maka kontak ini yang akan digunakan oleh git.

Konfigurasi Default Nama Brach

Ketika menginisialisasi sebuah git repositori, git akan menggunakan default nama brach yaitu master. Kita bisa merubahnya dengan nama yang kita inginkan seperti develop, main, test dan sebagainya.

Konfigurasi default nama branch sebenarnya tidak harus dilakukan. Tapi membuat risih ketika menginisialisasi sebuah project menggunakan perintah git init tanpa menggunakan opsi -b, git akan menampilkan tips pesan seperti berikut:

hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use
in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint:   git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint:   git branch -m <name>
Initialized empty Git repository in /home/kal/acme/.git/

Jika kamu ingin menghilangkan pesan hint seperti diatas kamu perlu mengkonfigurasi nama default branch yang kamu gunakan. namanya bebas, tapi yang paling umum digunakan yaitu master, main, development atau trunk.

Jika kamu bingung menamai branch default yang ingin kamu gunakan, cukup gunakan master sebagai nama branch default di settingan kamu seperti berikut.

git config --global init.defaultBranch master

Nama branch master umum digunakan di setiap repositori baik project berskala kecil ataupun besar. Branch artinya `cabang`. di git kamu bisa membuat cabang dari sebuah project, karena sebuah project bisa memiliki versi yang berbeda beda. Versi original dari sebuah project umumnya menggunakan nama brach master.

Konfigurasi Git Per Repositori atau Project

Jika kita ingin menggunakan nama dan email yang berbeda di suatu project, maka kita bisa menjalankan git config pada folder project yang ingin kita gunakan untuk kontak tersebut tanpa menggunakan flag –global.

Untuk mengkonfigurasi git Per Repo Project, sebelumnya kita perlu menginisialisasi git pada folder project tersebut.

git init

Setelah itu kita bisa mulai mengkonfigurasi git khusus untuk repository project tersebut.

git config user.name "Ya Kak Lee"
git config user.email kal@kal.my.id

Konfigurasi per repo tidak akan mengubah konfigurasi global, pengaturan pertama yang akan dilihat oleh git adalah pengaturan pada root repo (folder project). Jika disitu tidak terdapat pengaturan spesifik maka konfigurasi global yang akan digunakan oleh git untuk melakukan aksi commit.

File Konfigurasi git

Pada dasarnya konfigurasi git disimpan dalam bentuk teks file, file konfigurasi menurut lokasinya diantaranya yaitu:

  1. Global config file, konfigurasi file ini adalah file yang kita ubah/buat ketika kita menggunakan flag --global. file konfigurasi ini bisa kita temukan pada home folder linux user atau tepatnya pada ~/.gitconfig.
  2. Per repo config file, konfigurasi file ini adalah file konfigurasi yang kita setting pada folder project. File konfigurasi ini bisa kita temukan pada root folder project yang dilacak oleh git, tepatnya pada [nama-project]/.git/config
  3. Selain kedua lokasi diatas, git juga dapat menyimpan setting pada sistem di /etc/gitconfig

Mengedit File konfigurasi git

Karena file konfigurasi git disimpan sebagai teks file, cara lain untuk membuat atau mengedit file konfigurasi git adalah dengan menggunakan perintah :

git config --global --edit

Dengan menggunakan perintah tersebut, git akan membuka file konfigurasinya menggunakan teks editor yang terinstall di sistem. Format teks konfigurasi git mirip dengan format file toml.

[user]
        email = global@kal.my.id
        name = Yaka Lee

Variabel konfigurasi lainnya

Untuk dapat melakukan pelacakan source kode project menggunakan git, git hanya memerlukan dua variabel nama dan email seperti yang telah kita bahas diatas. Tapi masih ada opsional variabel konfigurasi git lain yang bisa digunakan, beberapa diantaranya yaitu:

git config --global core.editor subl   #subl (sublime), nano, code, atau vim
git config --global alias.chk checkout # alias checkout
git config --global alias.brc branch   # alias branch
git config --global alias.up rebase    # alias rebase
git config --global alias.com commit   # alias commit

Selanjutnya

Beberapa konfigurasi tambahan biasanya secara otomatis ditambahkan oleh plugin editor, tapi jika kamu ingin menambahkan konfigurasi tambahan manual dengan mengedit langsung di file konfigurasi, kamu bisa melihat referensinya di halaman manual man git-config atau info git-config.