Belajar Git
By jafrick - 17/12/2020 11:35apa 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 :
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.
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 mempercantikgit 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 branchmaster
. Mari kita pindahkan kode pada branch fitur1 ke dalam master dengan caramerge
.Merging
Pertama, kita pastikan kita ada di branch master dengan perintah
git branch
. Jika belum ada di master maka pindah ke master dengangit 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 ketikgraph
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 (ᵔᴥᵔ)