Git umum digunakan untuk melacak perubahan pada file pada suatu project. Project disini adalah sekumpulan file yang disimpan dalam suatu folder dimana file-file tersebut merupakan komponen dari project atau resource dari project tersebut. Jadi git tidak hanya dapat digunakan untuk melacak perubahan pada file project tersebut yang berisi source kode, tapi bisa digunakan untuk melacak file resource lainnya juga seperti gambar, dokumen dan file binari lainnya.

Inisialisasi git repository

Agar git dapat memulai melacak dan menyimpan setiap perubahan yang dilakukan pada sebuah project, hal pertama yang perlu kita lakukan adalah menginisialisasi project tersebut menggunakan git. Proses inisialisasi pada dasarnya menyiapkan git repository untuk project tersebut.

Untuk memulai melacak project menggunakan git, kamu tidak harus memulai project dari awal. kapanpun kamu ingin memulai project tersebut, kamu bisa melakukan inisialisasi kapanpun kamu mau. Proses menginisialisasi sebuah project dapat dilakukan dengan menggunakan perintah git init.

cd ke/folder/project/
git init

Ketika menjalankan perintah git init, pastikan kamu berada di dalam folder project. Sebagai contoh disini kita akan melacak perubahan pada project kalee yang disimpan dalam folder kalee dengan struktur filenya seperti berikut.

kalee
├── about.html
├── assets
│   ├── css
│   │   └── style.css
│   ├── images
│   │   └── logo.png
│   └── js
│       └── main.js
└── index.html

Untuk menginisialisasi project tersebut maka posisi terminal perlu berada di dalam folder kalee. Untuk menuju ke folder tersebut kita bisa menggunakan perintah cd. jadi untuk menginisialisasi project tersebut kita perlu masuk ke direktori kalee.

cd /home/kal/website/kalee

Kemudian inisialisasi menggunakan git init.

> git init
Initialized empty Git repository in /home/kal/website/kalee/.git/

Melacak File Pada Project

Setelah kita menginisialisasi folder project yang ingin kita lacak, hal selanjutnya yang perlu kita lakukan adalah memulai melacak setiap perubahan pada file project tersebut.

Menggunakan `git status`

Ketika kita mengubah lebih dari satu file dalam sebuah project, akan sangat sulit untuk kita mengetahui file mana saja yang telah kita rubah. Disini perintah git status memudahkan kita melihat file mana saja yang telah kita rubah dan belum di simpan ke repositori.

> git status
On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
    about.html
    assets/
    index.html

nothing added to commit but untracked files present (use "git add" to track)

Pada contoh diatas kita masih memiliki file yang belum dilacak oleh git, pada dasarnya file tersebut belum memiliki histori perubahan di dalam repositori git.

Ketika kita memulai mengerjakan project di lain hari, menjalankan git status merupakan kebiasaan yang sangat baik untuk dilakukan walaupun sebelumnya kita tidak mengerjakan project tersebut.

Git status memberi informasi perubahan pada project baik itu yang disengaja ataupun tidak disengaja.

Menggunakan `git add`

Perintah git add digunakan untuk menambahkan perubahan ke dalam staging area, dimana perubahan bisa ditambahkan ke dalam repositori git jika sudah yakin dengan perubahan yang telah kita lakukan.

Tidak ada aturan yang wajib untuk kita menambahkan perubahan ke staging area menggunakan git add. Kapanpun kamu ingin menambahkannya kamu bisa langsung menjalankan perintah tersebut.

Untuk menambahkan perubahan kita perlu menggunakan perintah git add dan diikuti nama file yang akan kita tambahkan perubahannya. Dari contoh yang ditampilkan pada git status diatas, kita bisa mulai menambahkan perubahan pada file index.html seperti berikut:

git add index.html

Kita bisa menambahkan file lainnya dengan mengganti index.html dengan nama file lainnya. Kita juga bisa menambahkan perubahan di semua file ke staging area sekaligus tanpa harus menjalankan git add berkali kali, yaitu dengan menggunakan tanda titik (.) sebagai parameternya.

git add .

Coba jalankan perintah git status, maka semua file yang dirubah berada di staging area.

>git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
    new file:   about.html
    new file:   assets/css/style.css
    new file:   assets/images/logo.png
    new file:   assets/js/main.js
    new file:   index.html

Menggunakan `git commit`

Setelah perubahan ditambahkan ke staging area menggunakan git add hal terakhir untuk menyimpan perubahan secara permanen adalah menggunakan git commit.

Untuk menjalankan git commit kita perlu menggunakan opsi flag -m untuk menambahkan pesan. Pesan ini nanti akan digunakan untuk nama dari perubahan di project kita dalam repositori.

git commit -m "menambahkan file baru"

Teks pesan dapat kita sesuaikan dengan keinginan, tapi umumnya pesan menggambarkan perubahan yang kita lakukan misal "menambahkan menu", menghilangkan bug pada javascript dan sebagainya.

Untuk contoh pada pembahasan di artikel ini kita menggunakan pesan initial, karena project ini belum memiliki perubahan didalamnya atau masih baru.

> git commit -m "initial"
[master (root-commit) af1dcf1] initial
 5 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 about.html
 create mode 100644 assets/css/style.css
 create mode 100644 assets/images/logo.png
 create mode 100644 assets/js/main.js
 create mode 100644 index.html

Setelah kita melakukan commit ke repositori kita bisa kembali mengerjakan project untuk menambahkan perubahan atau fitur lainnya yang ingin kita tambahkan.

Penutup

Ketika selesai melakukan perubahan pada project pastikan untuk melakukan commit untuk melacak perubah ke dalam git repositori. Menambahkan perubahan ke repositori pada dasarnya membuat backup file untuk project yang kita buat, jadi kita bisa mengembalikan file dari repositori ketika kita melakukan perubahan yang tidak kita inginkan di file project kita.