Konsep Dasar Branch
Oke teman-teman, kita telah belajar Dasat Git Command sebelumnya, sekarang
kita akan belajar materi yang lebih advance lagi. Jika kita sedang
mengerjakan proyek, lalu kita ingin mengembangkan fitur baru tapi kita belum
yakin untuk menambahkannya ke proyek kita, kita bisa mengembangkannya di
branch baru. Jika kita memulai membuat sebuah proyek pada proses
inisiasi repo kita akan dibuatkan branch default yang namanya master.
Branch inilah yang selama ini kita gunakan. Membuat branch sama seperti kita
menduplikat branch yang sudah ada dan memisahkannya dari
branch master. Tapi konsep ini sering membuat keliru. Dibawah ini
akan saya coba jelaskan bagaimana konsep branch yang sebenarnya
di Git.
Konsep branch
Sebelum kita bahas konsep branch, kita perlu mengingat lagi bagaimana Git
menyimpan perubahan yang kita lakukan. Git tidak menyimpan perubahan sebagai
kumpulan file yang berubah, melainkan menyimpan kumpulan
snapshot.
Ketika kita melakukan commit, Git akan menyimpan sebuah object yang berisi
pointer yang menunjuk snapshot dari file yang sudah di
stage. Objek ini juga menyimpan nama author, email author, pesan
commit dan pointer yang menunjuk commit atau commit-commit sebelumnya
(parents dari commit saat ini). (zero parent untuk initial commit,
one parent untuk commit biasa, dan two parent untuk merge).
Untuk menggambarkannya , kita asumsikan bahwa kita sudah membuat 3 file dan
sudah kita commit. Me-stage file dengan melakukan
checksum untuk setiap file menggunakan algoritma SHA, menyimpan versi
file di git repository (git menyebutnya blob), dan menambahkan
checksum tersebut ke staging area.
Ketika kita melakukan commit, Git melakukan checksum ke tiga
subdirektori yang kita buat tadi (blob dari masing-masing file yang kita
buat) lalu menyimpannya sebagai tree di git
repositori. Lalu git membuat objek commit yang menyimpan
metadata dari tree yang sudah dibuat tadi. Sekarang git repositori
menyimpan 5 object : 1 objek blob untuk tiap file kita (jadi ada 3), 1 objek
tree, 1 objek commit.
Kalo kita melakukan perubahan lalu commit lagi, objek commit berikutnya
akan menyimpan pointer yang menunjuk ke commit sebelumnya.
Branch adalah pointer yang menunjuk ke salah satu commit yang
ada tadi. Dia akan selalu berpindah mengikuti commit terakhir. Pada saat
melakukan git init kita dibuatkan branch bawaan yaitu branch master, branch ini
tidak spesial sama sekali.
Membuat branch
Apa yang terjadi jika kita membuat branch ? jika kita membuat branch, maka
kita membuat satu pointer lagi yang menunjuk ke commit yang sama
seperti ditunjuk oleh branch kita saat ini. Kamu bisa membuat branch dengan
menjalankan perintah
git branch testing
Saat ini kamu berada pada branch mana ? untuk menunjukkan kamu berada
pada branch mana dibuat pointer khusus yaitu HEAD, isi dari working direktori mengikuti isi file pada
branch yang ditunjuk oleh HEAD. Perintah git branch hanya membuatkan branch baru, tidak memindahkan HEAD ke branch
tersebut.
Berpindah branch
Kita menggunakan perintah git checkout untuk berpindah branch.
git checkout testing
Dan jika kita melakukan commit pada branch testing, maka akan seperti
ini.
untuk selanjutnya kalian pasti sudah bisa membayangkan.
Oke, mungkin segitu dulu aja yang bisa saya bagikan ke kalian tentang
konsep dasar branch. Jika kalian suka dengan postingan ini kalian bisa
membagikannya. Kalian bisa subscribe blog ini supaya tidak
ketinggalan postingan saya selanjutnya. Jangan sungkan juga untuk
berkomentar ya.. Sampai jumpa di postingan saya selanjutnya.
loading...
Comments
Post a Comment