Belajar Git

By jafrick - 17/12/2020 11:35

apa itu Git?

Git adalah sebuah version control system yang digunakan untuk mengembangkan sebuah perangkat lunak. Git mencatat semua perubahan yang dilakukan sehingga memungkinkan untuk kembali ke versi sebelumnya jika terjadi sesuatu pada source code kita, karena itulah disebut version control system.

kenapa membutuhkan Git atau version control system ?

Dalam kasus nyata pengembangan perangkat lunak melibatkan banyak tim yang juga bekerja secara paralel, jadi dengan adanya Git sebagai control system dapat membantu menghidari konflik antar pengembang. Ada kalanya kita akan menghadapi situasi yang mengakibatkan kita harus rollback ke versi sebelumnya. Dengan adanya version control system memungkinkan pengembang untuk kembali ke versi kode yang lama dengan mudah.

Get started

Mari kita mulai belajar git terlebih dahulu. Tutorial lebih ke windows, tapi harusnya sama saja karena kita menggunakan CLI (command line interface)

Installation

Download Git Pertama download git melalui link diatas dan install, sesuaikan dengan operating system yang kalian pakai. Setelah terinstall buka command prompt atau terminal, ketikan :

git --version

membuat lokal repository

Buat sebuah folder untuk repository dari project yang akan kalian gunakan (disini saya namakan test-repo ). pindah ke folder tersebut, pada windows klik kanan dan kalian akan melihat git bash here . Setelah bash terbuka ketikan :

git init

menambah file baru

Tetap pada folder repo tadi, buat file baru. Sebagai contoh kita buat test.txt kemudian pada file txt tersebut tambahkan :

Saya lagi belajar git

Staging dan Commit

commit adalah penambahan file atau kode ke dalam repository. Sebelum melakukan commit kita harus memasukan file tersebut ke staging area yaitu kondisi dimana perubahan siap untuk di commit. Jika file tidak dimasukan ke staging area maka file tidak akan di commit.

Staging

Untuk melakukan staging, ketikan git add <nama file> , contoh :

git add test.txt

Untuk memasukan semua file ke staging area dapat menggunakan perintah :

git add .

Commiting

Setelah file dimasukan ke staging area, file siap untuk di commit. Untuk commit file ketikan :

git commit -m “fisrt commit”

Penjelasan

  • commit untuk perintah commit pada git
  • -m untuk menambah pesan commit
  • first commit adalah pesan commit kita Pesan commit biasanya singkat tapi relevant dengan perubahan yang kita lakukan

status dan log

Kita modif terlebih dahulu file test.txt tadi dengan menambahkan :

Cycology adalah tempat belajar saya. Love you

status

Untuk melihat file apa yang telah berubah dan file yang berada dalam staging area kita dapat menggunakan perintah git status. Coba ketika perintah tersebut dan kalian akan melihat hasil seperti dibawah ini :

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   test.txt

no changes added to commit (use "git add" and/or "git commit -a")

Itu memberitahu kita bahwa ada perubahan pada file test.txt dan kita diberitahu untuk menambahkanya ke staging untuk commit file. Mari kita tambahkan dan commit dengan perintah berikut :

git add test.txt
git commit -m “add love”

Log

git log digunakan untuk melihat log history perubahan yang kita lakukan. Log akan menampilkan author tiap commit yang dilakukan, waktu commit dilakukan, dan pesan dari commit. Karena itu penting untuk menambahkan pesan yang berarti untuk memudahkan pengembangan. Untuk melihat log kalian bisa menggunakan perintah :

git log

Branches

Apa itu Branch ?

Branch adalah pointer atau titik dimana commit dilakukan pada repository. Sampai saat ini kita melakukan commit pada 1 branch saja yaitu branch master . jika divisualisasikan maka akan terlihat seperti ini :

branch

Kenapa kita butuh branch lebih dari 1 ?

Multi branch dibuat untuk mendukung pengembangan paralel. Dengan adanya branch lain kita dapat bekerja secara paralel, contoh kasus jika kalian ingin mengembangkan sebuah aplikasi, kemudian tim terdiri dari 3 orang maka dapat membuat branch untuk dikerjakan masing masing oleh pengembang.

Pada gambar dibawah ini kita bisa lihat repo kita test-repo memiliki 2 cabang (belum kita buat untuk saat ini), dapat kita lihat setelah commit add love ada 2 commit yang terpisah branch dikerjakan secara bersamaan.

branch1

Mari kita buat repository lokal kita agar terlihat seperti di gambar di atas.

create new branch

Mari kita buat branch dengan nama fitur1, dapat kita lakukan dengan perintah berikut :

git branch fitur1

Setelah itu kita harus pindah ke branch yang baru kita buat dengan perintah checkout :

git checkout fitur1

Untuk melihat posisi kita berada, dapat menggunakan command git branch

Saat kita membuat branch file – file yang berada pada branch sebelumnya akan dicopy ke branch baru.

commit in other branch

Oke saatnya kita melakuakn perubahan pada file test.txt yang ada pada branch fitur1. Tambahkan kalimat ini kedalam file txt :

Add more love from branch fitur 1

Kemudian lakukan stag dan commit seperti sebelumnya

git add test.txt
git commit -m “add love in other branch”

Sekarang statusnya branch fitur1 berada 1 tahap di depan branch master. Coba pindah ke branch master lalu cek log git. Untuk mempercantik git log kita bisa pakai graph alias, coba masukan perintah berikut :

alias graph="git log --all --decorate --oneline --graph"

Setelah itu coba pindah ke master dan ketik graph

git checkout master
graph

Akan muncul seperti ini

* 0bbe294 (fitur1) add love in other branch
* dc4914d (HEAD -> master) add love
* 38161fb first commit

Head menandakan lokasi kita berada, jadi sekarang fitur1 berada satu step diatas branch master. Mari kita pindahkan kode pada branch fitur1 ke dalam master dengan cara merge.

Merging

Pertama, kita pastikan kita ada di branch master dengan perintah git branch. Jika belum ada di master maka pindah ke master dengan git checkout master setelah itu ketikan perintah merge :

git merge fitur1

Terkadang dalam melakukan merge akan terdapat konflik karena baris kode yang diubah sama dan file yang diubah sama oleh 2 branch. Tapi itu tidak kita bahas untuk kali ini. Jika merge berjalan lancar kita sekarang bisa lihat log dengan git log atau tadi kita sudah menambah command alias graph, jadi cukup ketik graph dan lihat perubahanya.

Remote Repository

Semua tutorial diatas adalah lokal repository, artinya repo kita hanya ada pasa mesin (komputer) lokal kita saja. Karena kita akan bekerja secara tim kita biasanya menggunakan remote repository. Yang paling terkenal untuk saat ini adalah Github. Nah untuk tutorial git dan githubnya akan dilanjut pada post lain.

SELAMAT BELAJAR (ᵔᴥᵔ)