Ketika kita men-develop applikasi menggunakan git, tentu secara default kita menggunakan master sebagai repository utama. Pada kebanyakan kasus ketika developing, kita menambahkan fitur2x / perubahan yang bersifat untuk “testing”. Namun, perubahan tersebut tidak ingin di-commit ke master. Pada kondisi inilah kita membutuhkan branch.
Branch adalah repository yang berbeda dengan master dan independen. Kia bisa mem-publish repository branch ini untuk di-clone oleh orang lain. Selain itu, ketika perubahan di branch sudah “layak” dimasukkan ke dalam master repo, maka kita melakukan “merge” alias penggabungan 2 repositori.
Silahkan buka terminal / console anda dan masuk ke folder master repo.
1. Membuat branch baru
Branch baru dapat dibuat dengan perintah “git branch ” semisal :
1 | git branch experimental |
Lalu kita akan switch dari master ke testing dengan “git checkout ” semisal :
1 | git checkout experimental |
Kita akan membuat Branch baru sekaligus switch ke branch tersebut.
1 | git checkout -b experimental |
2. Check branch
Kita cek jumlah branch dan sedang di branch mana dengan :
1 | git branch |
1 2 | * experimental master |
3. Rebase
Ketika bekerja di branch “experimental”, ternyata ada perubahan di branch “master”. Kita ingin branch “experimental” update dengan perubahan di master. Maka kita perlu melakukan “rebase” :
1 | git rebase master |
Dalam menggunakan Github, kita akan mengenal lokal dan remote. Lokal adalah repo yang ada di komputer kita. Sedangkan remote adalah repo yang ada di-server. Ketika kita mem-create branch di lokal, maka kita perlu mem-”pull” ke branch remote agar orang lain bisa mem-clone dari server.
Kita dapat “pulling” branch lokal ke remote dengan cara :
1 | git push origin experimental |
Dalam posisi lainnya, kita hendak mem-clone branch dari remote server. Maka ini dapat dilakukan dengan cara :
1 | git fetch origin [remote-branch]:[lokal-branch] |
4. Menggabungkan Branch
Ketika perubahan branch di-anggap perlu dimasukkan ke master, maka kita menggunakan “merge”.
Pertama, kita switch ke master dengan :
1 | git checkout master |
Bila hendak membandingkan “changes” yang akan di-merge :
1 | git diff master experimental |
5. Delete branch
Menghapus branch yang sudah di-merge :
1 | git branch -d experimental |
Menghapus branch yang belum di-merge :
1 | git branch -D experimental |
Referensi :
http://help.github.com/git-cheat-sheets/