Git

Bagaimana cara Git Rebase

Bagaimana cara Git Rebase
git rebase adalah utilitas gabungan seperti git gabungan. Tapi cara kerja mereka berbeda.

Pada artikel ini, saya akan berbicara tentang cara kerja Git rebase, perbedaan antara Git rebase dan Git merge, dan cara bekerja dengan Git rebase. Jadi, mari kita mulai.

Git Rebase:

Katakanlah, Anda memiliki repositori Git dengan komit SEBUAH, B, C dalam menguasai cabang. Kemudian, Anda membuat cabang baru suatu cabang dan menambahkan 2 komitmen baru D dan E ke suatu cabang cabang.

Gambar 1: riwayat komit awal.

Sekarang, katakanlah, Anda lupa menambahkan sesuatu di menguasai cabang. Jadi, Anda kembali ke menguasai cabang dan tambahkan komit baru G ke menguasai cabang. Riwayat git Anda akan terlihat sebagai berikut.

Gambar 2: riwayat komit setelah menambahkan komit G di cabang master.

Semuanya terlihat bagus. Sekarang, jika Anda menginginkan setiap perubahan yang Anda buat pada suatu cabang cabang berada di menguasai cabang, Anda dapat menggabungkan suatu cabang cabang ke menguasai cabang. Inilah yang git menggabungkan melakukan.

Bagaimana jika Anda ingin komit? G tersedia di suatu cabang cabang? Nah, Anda dapat menggunakan git rebase untuk itu.

Dari riwayat komit pada gambar 2, Anda dapat melihat bahwa cabang suatu cabang dimulai dari komit C. Jika Anda melakukan git rebase pada suatu cabang, maka itu akan dimulai dari komit G seperti yang ditunjukkan pada gambar 3 di bawah ini. Perhatikan bahwa, isi dari komit D dan E akan berubah juga setelah operasi rebase. Komitmen D dan E akan mencakup perubahan dalam komit G. Inilah sebabnya saya menambahkan * simbol sebelum melakukan D dan E.

Jika Anda ingin tahu seperti apa riwayat komit jika saya menggabungkannya, lihat gambar 4. Saya telah memasukkannya agar Anda dapat membandingkannya dengan git rebase.

Gambar 4: komit riwayat jika git merge digunakan.

Sekarang Anda tahu apa itu git rebase, perbedaan antara git rebase dan git merge dan mengapa git rebase digunakan, saya akan menunjukkan cara menggunakannya di bagian selanjutnya dari artikel ini di bawah.

Alur Kerja Git Rebase:

Di bagian ini, saya akan membuat repositori git baru di komputer lokal saya dan menunjukkan cara kerja git rebase. Saya sarankan Anda memiliki pemahaman yang baik tentang git rebase sebelum menerapkannya pada proyek Anda.

Pertama, buat repositori Git baru rebase-demo/ di komputer Anda sebagai berikut:

$ git init rebase-demo

Sekarang, navigasikan ke rebase-demo/ direktori sebagai berikut:

$ cd rebase-demo/

Sekarang, buat file baru uji.txt sebagai berikut:

$ echo "A" > tes.txt

Ujian.File txt hanya berisi satu baris SEBUAH. Katakanlah, ini adalah kode proyek awal Anda.

Sekarang, komit perubahan sebagai berikut:

$ git tambahkan .
$ git komit -m 'A'

Sekarang, tambahkan baris lain B ke uji.txt file seperti yang ditunjukkan pada tangkapan layar di bawah ini.

Sekarang, komit perubahan sebagai berikut:

$ git tambahkan .
$ git komit -m 'B'

Sekarang, mari tambahkan baris C lainnya ke uji.txt mengajukan.

Juga, komit perubahan sebagai berikut:

$ git tambahkan .
$ git komit -m 'C'

Sekarang, riwayat komit cabang master akan terlihat sebagai berikut:

$ git log --oneline

Sekarang, katakanlah, Anda memiliki beberapa ide baru yang ingin Anda coba. Jadi, mari kita buat dan checkout ke cabang baru fitur baru sebagai berikut:

$ git checkout -b fitur baru

Sekarang, tambahkan ide baru Anda (baris D katakanlah) ke uji.txt mengajukan.

Sekarang, komit perubahan sebagai berikut:

$ git tambahkan .
$ git komit -m 'D'

Sekarang, tambahkan baris E ke uji.txt mengajukan.

Lakukan perubahan sebagai berikut:

$ git tambahkan .
$ git komit -m 'E'

Sekarang, sejarah komit dari fitur baru cabang akan terlihat sebagai berikut:

$ git log --oneline

Lihat bagaimana komit dalam urutan A < B < C < D < E?

Sekarang, Anda ingat bahwa Anda lupa menambahkan sesuatu ke menguasai cabang yang Anda juga ingin berada di fitur baru cabang! Jadi, checkout ke menguasai cabang.

Saya menambahkan baris baru di akhir uji.txt file seperti yang Anda lihat.

Sekarang, komit perubahan sebagai berikut:

$ git tambahkan .
$ git komit -m 'G'

Sekarang, sejarah komit dari menguasai cabang akan terlihat seperti ini.

SEBUAH < B < C < G

Sekarang, untuk rebase komit dari from menguasai cabang ke fitur baru cabang, checkout pertama ke fitur baru cabang.

$ git checkout fitur baru

Sekarang, lakukan git rebase dari menguasai cabang sebagai berikut:

$git rebase master

Beberapa menggabungkan konflik! Mari kita perbaiki itu.

Nah, perubahan yang saya buat pada komit G dan D bertentangan satu sama lain. Saya ingin menyimpan keduanya.

Setelah memperbaiki konflik penggabungan, uji.txt file akan terlihat sebagai berikut:

Sekarang, tambahkan perubahan ke staging area sebagai berikut:

$ git tambahkan .

Sekarang, lanjutkan operasi rebase sebagai berikut:

$ git rebase --lanjutkan

Konflik gabungan lainnya! Nah, ini bisa terjadi. Rebase mengubah riwayat komit git. Jadi, hal-hal seperti ini diharapkan.

Tampaknya proses penggabungan gagal karena beberapa baris kosong. Mari kita perbaiki itu.

Setelah memperbaiki konflik penggabungan, uji.txt file akan terlihat sebagai berikut:.

Sekarang, tambahkan perubahan ke staging area sebagai berikut:

$ git tambahkan .

Sekarang, lanjutkan operasi rebase sebagai berikut:

$ git rebase --lanjutkan

Git rebase selesai.

Seperti yang Anda lihat, riwayat komit cabang fitur baru diperbarui. Sekarang, riwayat komit adalah sebagai berikut:

SEBUAH < B < C < G < D < E

Seperti yang diharapkan.

Akhir uji.txt file akan terlihat sebagai berikut:.

Git rebase adalah alat yang ampuh. Tapi, Anda tidak boleh menggunakannya di repositori Git yang dibagikan. Gunakan hanya di repositori Git yang hanya Anda gunakan. Jika tidak, Anda akan menghadapi banyak masalah di sepanjang jalan.

Jadi, begitulah cara Anda menggunakan git rebase. Terima kasih telah membaca artikel ini.

Game Terbaik untuk Dimainkan dengan Pelacakan Tangan
Oculus Quest baru-baru ini memperkenalkan ide hebat pelacakan tangan tanpa pengontrol. Dengan jumlah permainan dan aktivitas yang terus meningkat yang...
Cara Menampilkan Overlay OSD di Aplikasi dan Game Linux Layar Penuh
Memainkan game layar penuh atau menggunakan aplikasi dalam mode layar penuh bebas gangguan dapat memutus Anda dari informasi sistem yang relevan yang ...
5 Kartu Tangkap Game Teratas
Kita semua telah melihat dan menyukai gameplay streaming di YouTube. PewDiePie, Jakesepticye, dan Markiplier hanyalah beberapa pemain top yang telah m...