Dasar-dasar Percabangan Git
Kemampuan untuk bercabang dengan mudah adalah salah satu fitur terbaik dari Git. Membuat cabang di sistem kontrol versi lain bisa mahal dalam hal ruang dan persyaratan pemrosesan. Percabangan Git efisien. Jadi pengguna lebih cenderung menggunakan cabang di Git.
Alur Kerja Percabangan
Misalkan Anda memulai proyek baru bernama myvideogame. Ini memiliki satu cabang. Nama default dari cabang awal di Git disebut master. Itu dibuat secara otomatis. Mari buat repositori Git myvideogame.
$mkdir myvideogame$cd myvideogame
$ git init
Anda telah membuat repositori Git kosong. Ayo tambahkan desain kita.file txt dengan beberapa teks di dalamnya.
$ echo "Keputusan Desain 1: Tambahkan Gambar" >> desain.txt$ echo "Keputusan Desain 2: Tulis Kode" >> desain.txt
$ git tambahkan -A
$ git commit -m "C0: Menambahkan File Desain"
Mari tambahkan beberapa perubahan lagi:
$ echo "Keputusan Desain 3: Game Uji Coba" >> desain.txt$ git tambahkan -A
$ git commit -m "C1: File Desain yang Dimodifikasi"
Jika Anda memeriksa riwayatnya, Anda akan menemukan:
$ git log --oneline6a09bd6 C1: File Desain yang Dimodifikasi
5f18d89 C0: Menambahkan File Desain
Jika Anda memeriksa status Git dan semua cabang yang dibuat (menggunakan perintah: git branch -a), Anda akan melihat:
$git statusDi kepala cabang
tidak ada yang perlu dilakukan, direktori kerja bersih
$ git cabang -a
* tuan
Saat ini, Anda memiliki situasi berikut:
Anda telah membuat dua komit di cabang master.
Misalkan, Anda telah menemukan bug dalam pengujian game Anda, tetapi Anda tidak ingin mengatasi masalah tersebut di cabang master karena Anda belum ingin mengacaukan desain aslinya. Jadi, Anda dapat membuat cabang baru bernama perbaikan bug:
$ git perbaikan bug cabangSekarang jika Anda memeriksa semua cabang:
$ git cabang -aperbaikan bug
* tuan
Sekarang Anda telah membuat cabang baru yang disebut perbaikan bug. Situasinya dapat divisualisasikan sebagai berikut:
Namun, bintang (*) di samping cabang master berarti Anda masih berada di master. Jika Anda membuat perubahan, itu masih akan masuk ke cabang master. Anda dapat menggunakan perintah checkout untuk mengubah cabang:
$ git checkout perbaikan bugBeralih ke cabang 'perbaikan bug'
Anda dapat memeriksa cabang mana yang Anda gunakan dengan status atau perintah “branch -a”:
$git statusPada perbaikan bug cabang
tidak ada yang perlu dilakukan, direktori kerja bersih
$ git cabang -a
* perbaikan bug
menguasai
Sekarang, mari kita perbaiki bug:
$ echo "Perbaikan Bug 1" >> desain.txt$ git tambahkan -A
$ git commit -m "C2: Bug Fixed 1"
Anda telah membuat situasi seperti ini:
Cabang master tidak memiliki perubahan C2. Anda dapat dengan mudah memverifikasi ini dengan memeriksa riwayat kedua cabang.
Pertama, sejarah cabang perbaikan bug:
$git statusPada perbaikan bug cabang
tidak ada yang perlu dilakukan, direktori kerja bersih
$ git log --oneline
e8f615b C2: Perbaikan Bug 1
6a09bd6 C1: File Desain yang Dimodifikasi
5f18d89 C0: Menambahkan File Desain
Kemudian Anda dapat beralih ke cabang utama dan memeriksa riwayatnya:
$git checkout master checkoutBeralih ke cabang 'master'
$git status
Di kepala cabang
tidak ada yang perlu dilakukan, direktori kerja bersih
$ git log --oneline
6a09bd6 C1: File Desain yang Dimodifikasi
5f18d89 C0: Menambahkan File Desain
Anda dapat melihat cabang master tidak memiliki perubahan dari cabang perbaikan bug.
Anda selalu dapat membuat cabang baru dari cabang saat ini tempat Anda berada. Misalkan, Anda ingin membuat cabang lain yang akan berisi fitur eksperimental. Anda dapat membuat cabang dari master dan menambahkan fitur eksperimental ke dalamnya:
$git statusDi kepala cabang
tidak ada yang perlu dilakukan, direktori kerja bersih
$ git cabang eksperimental
$ git checkout eksperimental
Beralih ke cabang 'eksperimental'
$git status
Pada percobaan cabang
tidak ada yang perlu dilakukan, direktori kerja bersih
$ echo "Menambahkan fitur Eksperimen" >> desain.txt
$ git tambahkan -A
$ git commit -m "C3: Menambahkan Fitur Eksperimental"
[eksperimental 637bc20] C3: Menambahkan Fitur Eksperimental
1 file diubah, 1 penyisipan (+)
Jika Anda memeriksa riwayat cabang eksperimental Anda, Anda akan melihat:
$git statusPada percobaan cabang
tidak ada yang perlu dilakukan, direktori kerja bersih
$ git log --oneline
637bc20 C3: Menambahkan Fitur Eksperimental
6a09bd6 C1: File Desain yang Dimodifikasi
5f18d89 C0: Menambahkan File Desain
Anda akan melihat bahwa Anda tidak memiliki komit C2 yang dibuat di cabang perbaikan bug. Karena cabang eksperimental dibuat dari cabang master, itu tidak melihat perubahan perbaikan bug. Anda memiliki situasi berikut:
Kesimpulan
Selamat! Anda telah belajar cara bercabang.
Cabang Git mudah dan cepat dibuat. Itu salah satu alasan di balik popularitas Git. Jika Anda ingin menjadi pengguna Git yang mahir, Anda harus mahir dalam percabangan Git.
Pelajaran lanjutan:
https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging