Perpustakaan skenario
Pilih riwayat awal
Setiap skenario adalah skrip perintah, bukan snapshot — dijalankan ulang saat dibuka, jadi keadaannya tidak mungkin berbeda dari apa yang perintahnya benar-benar lakukan. Semuanya berhenti tepat sebelum perintah yang menarik, dan menyebutkan namanya.
Menggabungkan
Membawa satu branch mengikuti branch lain, dan apa yang dilakukan rebase pada commit yang dipindahkannya.
Branch fitur tertinggal di belakang main
Bentuk paling umum. Setelah rebase, perhatikan hash setiap commit fitur berubah — bukan karena isinya berubah, tapi karena parent-nya berubah, dan parent ikut masuk ke hash.
rebase main4 commitBuka →Rebase yang berkonflik
Dua branch mengubah baris yang sama. Rebase berhenti di tengah tanpa menggerakkan ref dan tanpa membuat objek — resolusi Anda yang menentukan hash commit hasilnya.
rebase main3 commitBuka →
Menulis ulang
Merapikan riwayat sendiri sebelum orang lain melihatnya.
Memulihkan
Mengambil kembali kerja yang tampak hilang, karena hampir tidak pernah benar-benar hilang.
Berkolaborasi
Riwayat yang sudah dipegang orang lain, dan kenapa menulis ulangnya merugikan mereka.
Branch yang sudah dipublikasikan
Di sini rebase adalah pilihan yang salah. Commit yang sudah dipegang orang lain tidak boleh ditulis ulang — pakai revert, yang menambah riwayat alih-alih mengubahnya.
revert HEAD~13 commitBuka →Rebase branch yang sudah di-push
Branch ini sudah ada di origin. Rebase menulis ulang commit-nya, jadi push berikutnya ditolak — dan memaksanya membuat commit lama di origin tidak lagi ditunjuk apa pun. Rekan yang sudah fetch tetap memilikinya; yang clone hari ini tidak akan pernah melihatnya.
destruktifpush origin main3 commitBuka →