Mengenal Branch dan Merge pada Git

Untuk pembelajaran kali ini kita akan belajar bareng bareng mengenai branch dan merge git. Kali ini saya akan menggunakan git bash karena sebelumnya sudah menggunakan cmd windows supaya bisa merasakan semua sensasi CLI untuk implement git.  Branch adalah membuat cabang cabang bebas dari commit commit kita biasanya dibutuhkan ketika kita membuat fitur baru namun kita masih belum yakin implementasinya atau ketika kita mengerjakan repo kita secara tim atau kelompok. Merge adalah proses ketika kita menggabungkan branch ke master.

Oke pertama kita buat repository, disini saya membuata repo di working area pada D:\belajar\git\branch-merge untuk kalian buat repo dimana saja boleh. Setelah itu masuk ke folder reponya kemudian klik kanan terus pilih Git Bash Here atau menggunakan CLI apapun yang terinstall git juga boleh.

Inisialisasi repo git

Buat file mahasiswa.html
Cek Status perubahan repo

Lanjutkan add dan commit file mahasiswa.html

Selanjutnya Coba lakukan perubahan di file mahasiswa.html

Selanjutnya lakukan add dan commit,, sebenarnya kalau posisi file sudah modified/sudah bukan diposis untracked bisa gunakan command "git commit -am "pesan_commit"

Implementasi Branch Dalam Implementasi branch ada yang namanya disebut "head" yang dijadikan sebagai pointer atau penanda branch yang sedang sedang aktif. Ayo kita coba bikin branch baru dengan nama dosen dan staff

Sebenarnya kita bisa melihat perjalanan branch kita dari sebuah graph

Perintah ini kedepannya akan sering kita gunakan, karena commandnya agak panjang kita bisa inisialisasi dengan alias supaya lebih praktis

Oke sekarang kita coba berpindah dari branch master ke branch dosen

Tambahkan file dosen.html di working area atau di folder local
Seperti biasa cek status untuk melihat perubahan yang terjadi di repo kemudian add dan commit

Oke sekarang posisi di branch dosen terdapat 2 file mahasiswa.html dan dosen.html. Namun jika coba balik ke brach master maka seharusnya filenya masih mahasiswa.html

Coba perhatikan baik baik capture diatas, ketika balik checkout ke branch master file dosen.html jadi hilang karena file tersebut terdapat hanya di branch dosen


Coba perhatikan baik baik capture diatas, ketika balik checkout ke branch dosen file dosen.html jadi ada lagi

Coba kita cek perubahan posisi head sekarang dimana branch dosen lebih maju diatas branch master

Buat file staff.html di branch staff

Selanjutny seperti biasa di add, commit, kemudian perhatikan perubahan graph

Implementasi Merge Merge di menjadi 2 jenis yaitu Fast Forward(branch yang ingin kita gabungkan berada pada jalur langsung/direct path) dan Three-way Merge(merge commit, sambil merge sambil bikin commit baru). Sekarang kita pindahkan dulu branch ke master kemudian lakukan merge

"Updating a6d124e..74fc326" artinya ada update di id hashnya branch master | "Fast-forward" artinya sudah terjadi fast forward merging | " dosen.html | 13 +++++++++++++" artinya ada penambahkan 13 baris dari file dosen.html | "1 file changed, 13 insertions(+)" artinya ada perubahan di sebuah file yaitu penambahan file dosen yang berisi 13 baris

Coba kita cek di foldernya seharusnya jika kalian berada di branch master sudah ada 2 file yaitu mahasiswa.html dan dosen.html

Kalau ingin mengetahui branch mana yang sudah di merge

Karena branch dosen sudah tidak terpakai maka branchnya bisa di hapus saja

Branch yang kita miliki sekarang tinggal master dan staff, misalnya kita ingin hapus branch staff yang belum di merge

"error: The branch 'staff' is not fully merged" artinya branch staff belum dilakukan merge jadi nggak boleh dihapus | "If you are sure you want to delete it, run 'git branch -D staff" artinya jika kalian ingin tetep menghapusnya secara paksa tanpa merge terlebih dahulu maka gunakan command "git branch -D staff"

Coba kita jalankan alias graph supaya lihat cabang branch nya

Jadi antara branch staff dan branch yang hasil baranch master terpisah tidak terhubung langsung makannya ini di nakamakan tree way merge sehingga nanti akan selain commit akan melakukan commit ( Selalu diingat jika commit akan membuat hash baru dan biasanya diminta mengisi keterangan commitnya )


Jika kalian diarahkan ke editor vim atau editor lainnya untuk memasukkan pesan commitnya, lanjutakan dengan save file editornya untuk vim bisa tekan tombol Esc+:+wq! | "Merge made by the 'recursive' strategy." ini penanda merge yang kita lakukan adalah Try way merge

Coba kita cek graph

Dapat kita lihat bahwa sudah ada commit baru yang menggabungkan branch staff ke master

Jika Kita cek ke foldernya adalah dengan branch master sudah ada 3 file(mahasiswa.html, dosen.html, staff.html)

Sekarang kita bisa cek file apakah benar staff sudah merge ke master dengan command"git branch --merged", kemudian hapus saja branch staff dengan command "git branch -d staff"

Demikian pembelajaran yang udah kita bahas step by step dan case by case terkait brach dan merge semoga kita semakin mengerti cara menggunakan tool git.

No comments:

Post a Comment