Lewati ke konten utama

Cara Menggunakan Git Rebase: Tutorial untuk Pemula

Pelajari apa itu Git Rebase dan cara menggunakannya dalam alur kerja data science Anda.
· 8 mnt Baca

Jelajahi bersama AI

Seiring data science, data engineering, dan machine learning makin meresap ke hampir setiap aspek operasional harian bisnis, para profesional data tak lagi bisa bekerja dalam ruang hampa. Praktisi data harus bekerja erat dengan pengembang perangkat lunak agar proyek data science benar-benar operasional dan dapat diskalakan. Artinya, profesional data perlu mengintegrasikan alat berorientasi pengembangan perangkat lunak ke dalam keterampilan mereka, termasuk Git.

Git adalah alat kontrol versi open source yang dibuat untuk operasi kontrol versi. Git memungkinkan pengembang dan profesional data melacak perubahan pada file proyek, seperti skrip Python dan dataset, secara efisien sehingga anggota proyek memiliki catatan semua perubahan, menyinkronkan tugas, dan berkolaborasi tanpa kehilangan informasi. Tempat yang bagus untuk mulai belajar git adalah Kursus Pengantar Git kami.

Salah satu fitur kunci Git adalah kemungkinan menggunakan branch. Branch memungkinkan pengembang memiliki beberapa versi proyek dan melacak setiap versi secara sistematis. Pada titik tertentu, Anda mungkin perlu mengintegrasikan kemajuan yang dibuat di sebuah branch ke branch lain. Ada berbagai strategi untuk menggabungkan branch, termasuk perintah git merge dan git rebase.

Tujuan artikel ini adalah memperkenalkan git rebase, sebuah perintah yang membantu mengintegrasikan branch dengan memindahkan serangkaian commit dari branch sumber ke atas branch target, biasanya branch main.

Memahami Git Rebase

Bayangkan Anda mengerjakan proyek data science bersama profesional data lainnya, dan Anda bertanggung jawab mengembangkan dasbor dengan PowerBI berdasarkan data yang dikumpulkan pada commit sebelumnya.

Karena Anda akan menjadi penanggung jawab utama dasbor, masuk akal untuk membuat branch khusus. Sementara itu, anggota tim lainnya dapat terus memperbarui branch main dengan commit baru. Situasinya terlihat seperti ini:

Membuat branch untuk fitur baru

Gambar 1. Sumber

Sekarang bayangkan commit terbaru di branch main relevan untuk branch Anda. Misalnya, mereka menambahkan dataset baru yang dapat memperkaya dasbor Anda. Dalam kasus ini, Anda perlu memasukkan commit baru tersebut ke branch Anda. Ada dua cara untuk mengintegrasikan perubahan ini; melakukan merge atau rebase.

Jika Anda menggabungkan branch menggunakan perintah git merge, Anda akan membuat merge commit baru di branch Anda yang memadukan perubahan terbaru di branch main dan branch yang Anda buat.

Menggabungkan branch.

Gambar 2. Sumber

git merge adalah operasi non-destruktif, artinya riwayat kedua branch tidak berubah. Ini baik untuk keterlacakan, tetapi juga menambah kompleksitas pada branch Anda, karena Anda mungkin harus terus-menerus menambahkan commit tambahan dari branch main, terutama jika branch main aktif. Ini juga dapat menghasilkan potensi konflik merge, seperti dijelaskan dalam blog tentang menyelesaikan konflik merge ini.

Di sisi lain, jika Anda menggunakan git rebase, Anda akan memindahkan seluruh branch Anda ke atas branch main. Operasi ini akan menulis ulang riwayat proyek dengan memasukkan commit baru untuk setiap commit yang Anda buat di branch Anda. Branch yang dihasilkan akan terlihat sebagai berikut:

Melakukan rebase branch

Gambar 3. Sumber

git rebase adalah opsi yang sangat baik untuk menjaga kejelasan dalam proyek. Dengan memindahkan seluruh feature branch ke ujung branch main, riwayat proyek akan berubah, menghasilkan riwayat yang benar-benar linear dan lebih mudah dinavigasi. git rebase juga menghilangkan kebutuhan merge commit tambahan yang diperlukan oleh git merge.

Namun, git rebase juga memiliki potensi konflik dan jebakan. Karena mengubah riwayat commit dan tidak memerlukan merge commit, bisa sulit mengidentifikasi kapan perubahan yang dilakukan oleh git rebase dimasukkan, sehingga mengurangi keterlacakan. Yang lebih penting, jika git secara tidak sengaja atau tanpa disadari menghasilkan perubahan pada branch main, lalu Anda mendorong perubahan tersebut ke repositori remote, ini akan menimbulkan perubahan tak terduga yang mungkin bertentangan dengan pekerjaan pengembang lain. Oleh karena itu, gunakan git rebase dengan hati-hati dan hanya dalam keadaan tertentu.

Sekarang mari kita lihat bagaimana git rebase bekerja secara praktik!

Melakukan Git Rebase

Untuk mengilustrasikan cara kerja git rebase, kita akan mereplikasi contoh yang dijelaskan pada bagian sebelumnya. Jika Anda bekerja pada proyek kolaboratif, hal pertama yang harus dilakukan adalah mengambil dan mengunduh konten dari repositori remote tempat proyek di-host (biasanya di cloud atau server jarak jauh) dan memperbarui repositori lokal Anda dengan pembaruan terbaru, sehingga Anda berada pada posisi yang sama dengan anggota tim lainnya. Ini dapat dilakukan dengan perintah git pull, yang dapat Anda jalankan di terminal:

git pull

Sekarang Anda siap membuat branch baru tempat Anda akan mengerjakan dasbor PowerBI. Ini dapat dilakukan dengan perintah berikut:

git checkout -b powerbi_dashboard

Setelah branch baru dibuat, Anda mulai bekerja dan mencatat kemajuan dengan beberapa commit. Misalnya, Anda membuat commit baru setelah menyusun plot yang akan muncul di dasbor.

git add .  
git commit -m "powerbi_dashboard/add_plots"

Sementara itu, rekan Anda membuat kemajuan baru di branch main yang relevan dengan proyek dasbor Anda. Sekali lagi, hal pertama yang harus Anda lakukan adalah menjalankan git pull untuk mendapatkan pembaruan dari repositori remote dan menyalinnya ke repositori lokal Anda. Ini akan menghasilkan situasi seperti yang dijelaskan pada Gambar 1.

Dari sini, Anda bisa memilih git merge atau git rebase. Jika memilih yang terakhir, Anda hanya perlu menjalankan git rebase untuk memindahkan branch Anda ke atas branch main.

git checkout -b powerbi_dashboard
git rebase main 

Rebase Interaktif

Jika tidak ada informasi tambahan yang diberikan, git rebase akan menerjemahkan semua commit di branch Anda ke head dari branch main. Namun, Anda dapat menggunakan mode interaktif jika ingin lebih mengontrol bagaimana commit dipindahkan. Ini akan memungkinkan Anda merapikan riwayat commit sebelum memindahkan branch ke branch main, sehingga meningkatkan kejelasan.

Untuk memulai rebase interaktif, tambahkan opsi i pada perintah git rebase:

git checkout -b powerbi_dashboard
git rebase -i main

Ini akan membuka editor tempat Anda dapat mengubah perilaku git untuk setiap commit yang ingin Anda rebase. Beberapa opsi yang tersedia antara lain mengubah pesan commit, menggabungkan commit, dan menghapus commit. Daftar lengkapnya dapat ditemukan di dokumentasi git. Di bawah ini adalah tampilan editornya:

pick 46s9451 powerbi_dashboard/add_plots #keep commit
reword 94561f6 powerbi_dashboard/set_data_connectors #edit commit message
drop 1f094y8 powerbi_dashboard/minor_changes #remove commit

Praktik Terbaik Git Rebase

git rebase adalah perintah yang berguna, tetapi dapat menimbulkan situasi membingungkan jika digunakan pada skenario yang salah. Aturan umumnya, gunakan git rebase hanya di repositori lokal.

Secara khusus, git rebase sangat membantu saat bekerja pada branch khusus untuk mengembangkan fitur tertentu. Dalam konteks ini, git rebase dapat digunakan untuk menjaga riwayat commit Anda tetap bersih dan linear, sehingga memudahkan pengembang lain mengikuti kemajuan Anda ketika saatnya mendorong commit ke repositori remote.

Namun, Anda mungkin menemui konflik merge selama alur kerja rebase, terutama jika Anda belum memasukkan commit dari rekan-rekan Anda di branch main untuk beberapa waktu.

Situasi di mana branch Anda bertentangan dengan commit terbaru di branch main ini dapat diatasi dengan sering melakukan rebase branch Anda terhadap main. Dengan begitu, Anda dapat memastikan sedang bekerja pada pijakan yang sama.

Akhirnya, mencegah lebih baik daripada mengobati. Jadi, sebelum mempertimbangkan git rebase, diskusikan dahulu dengan anggota tim lainnya agar mereka dapat memberi panduan tentang cara dan tempat menggunakannya.

Kesimpulan

Anda telah sampai di akhir tutorial. Selamat! git rebase adalah perintah yang layak dimasukkan ke dalam alur kerja git Anda. Namun masih banyak yang bisa dipelajari tentang Git, alat yang wajib dimiliki baik oleh pengembang maupun praktisi data.

Di bawah ini Anda dapat menemukan beberapa sumber daya DataCamp untuk membantu Anda menguasai Git. Semoga bermanfaat!

Javier Canales Luna

Penulis

Javier Canales Luna

Saya adalah analis data lepas yang berkolaborasi dengan perusahaan dan organisasi di seluruh dunia dalam proyek ilmu data. Saya juga instruktur ilmu data dengan pengalaman lebih dari 2 tahun. Saya rutin menulis artikel terkait ilmu data dalam bahasa Inggris dan Spanyol, beberapa di antaranya telah diterbitkan di situs tepercaya seperti DataCamp, Towards Data Science, dan Analytics Vidhya. Sebagai ilmuwan data dengan latar belakang ilmu politik dan hukum, tujuan saya adalah bekerja pada irisan kebijakan publik, hukum, dan teknologi, memanfaatkan kekuatan gagasan untuk mendorong solusi serta narasi inovatif yang dapat membantu kita menghadapi tantangan mendesak, khususnya krisis iklim. Saya menganggap diri saya seorang autodidak, pembelajar sepanjang hayat, dan pendukung kuat pendekatan multidisipliner. Tidak pernah ada kata terlambat untuk mempelajari hal baru.

Topik

Terkait

blogs

Tutorial Korelasi di R

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

blogs

Spaghetti Plot dan Jalur Badai