Bekerja dengan Penggabungan dan Penghapusan Cabang
Pertama-tama mari kita buat cabang master, masukkan beberapa komit, buat cabang baru yang disebut fitur, tambahkan beberapa komit, lalu kembali ke master dan komit lagi. Berikut perintah-perintahnya:
$mkdir mygame$cd mygame
$ git init
$ echo "Keputusan Desain 1: Brainstarm" >> desain.txt
$ git tambahkan -A
$ git commit -m "C0: Proyek Dimulai"
$ echo "Keputusan Desain 2: Tulis Kode" >> desain.txt
$ git tambahkan -A
$ git commit -m "C1: Kode yang Dikirim"
$ git fitur cabang
$ git fitur checkout
$ echo "Tambahkan Fitur 1" >> fitur.txt
$ git tambahkan -A
$ git commit -m "C2: Fitur 1"
$ echo "Tambahkan Fitur 2" >> fitur.txt
$ git tambahkan -A
$ git commit -m "C3: Fitur 2"
$git checkout master checkout
$ echo "Memodifikasi Master Lagi" >> desain.txt
$ git tambahkan -A
$ git commit -m "C4: Master Dimodifikasi"
Perintah di atas menciptakan situasi berikut:
Anda dapat memeriksa riwayat dua cabang untuk melihat komit apa yang mereka miliki:
$git statusDi kepala cabang
tidak ada yang perlu dilakukan, direktori kerja bersih
$ git log --oneline
2031b83 C4: Master Dimodifikasi
1c0b64c C1: Kode yang Dikirim
$ git fitur checkout
Beralih ke 'fitur' cabang
$ git log --oneline
93d220b C3: Fitur 2
ad6ddb9 C2: Fitur 1
1c0b64c C1: Kode yang Dikirim
ec0fb48 C0: Memulai Proyek
Sekarang anggaplah, Anda ingin membawa semua perubahan dari cabang fitur ke cabang master kami. Anda harus memulai proses dari tujuan penggabungan. Karena kami ingin bergabung ke cabang master, Anda harus memulai proses dari sana. Jadi mari kita periksa cabang master:
$git checkout master checkoutBeralih ke cabang 'master'
$git status
Di kepala cabang
tidak ada yang perlu dilakukan, direktori kerja bersih
Sekarang mari kita buat penggabungan:
$ git menggabungkan fiturJika tidak ada konflik dalam penggabungan, Anda akan membuka editor teks dengan komentar:
Gabungkan 'fitur' cabang# Silakan masukkan pesan komit untuk menjelaskan mengapa penggabungan ini diperlukan,
# terutama jika menggabungkan upstream yang diperbarui menjadi cabang topik.
#
# Baris yang dimulai dengan '#' akan diabaikan, dan pesan kosong dibatalkan
# komitmen.
Anda dapat mengubah komentar atau menerima komentar default. Output gabungan harus menunjukkan hasil seperti ini:
Gabung yang dibuat oleh strategi 'rekursif'.fitur.txt | 2 ++
1 file diubah, 2 sisipan(+)
buat fitur mode 100644.txt
Setelah penggabungan, Anda memiliki kondisi berikut:
Jika Anda memeriksa log, Anda akan menemukan:
$git statusDi kepala cabang
tidak ada yang perlu dilakukan, direktori kerja bersih
$ git log --oneline
46539a3 C5: Menggabungkan 'fitur' cabang
2031b83 C4: Master Dimodifikasi
93d220b C3: Fitur 2
ad6ddb9 C2: Fitur 1
1c0b64c C1: Kode yang Dikirim
ec0fb48 C0: Memulai Proyek
Anda telah berhasil menggabungkan perubahan. Namun, cabang fitur masih ada.
$ git cabang -afitur
* tuan
Anda dapat menghapusnya dengan perintah berikut:
$ git branch -d fiturJika Anda memeriksa sekarang, Anda seharusnya hanya melihat cabang master:
$ git cabang -a* tuan
Kesimpulan
Pastikan Anda secara teratur memeriksa cabang yang tidak digunakan dan menghapusnya. Anda ingin menjaga repositori Anda tetap bersih agar mudah dinavigasi dan dipahami.
Bacaan lebih lanjut:
- https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging