EN: Read in English
Dunia 3: Alam Selari
Kemaskan sejarah dengan rebase interaktif
Anda akan belajar: fixup, reword, drop dan susun semula commit sendiri sebelum dikongsi.
Teks BM belum disemak oleh penutur asli.
Masalahnya
Branch gallery anda berfungsi. Tapi tengok sejarahnya! Boleh anda kemaskan sebelum orang lain nampak?
Tengok
git rebase -i main buka senarai tugasan berisi commit anda, yang paling lama di atas. Tukar perkataan di depan, dan Git main semula senarai itu. Itulah rebase interaktif (interactive rebase): git rebase -i: kemaskan commit sendiri sebelum anda kongsi..
Tengok
Perkataannya: pick simpan commit. reword beri mesej baru. squash: Gabungkan commit ke dalam commit sebelumnya, dan simpan kedua-dua mesej. gabungkan ke commit atas. fixup: Macam squash, tetapi mesej commit ini dibuang. gabungkan dan buang mesejnya. drop padam commit itu.
Cuba
Gabungkan “fix typo” ke dalam kad di atasnya. Tukar nama “captions” jadi “Add photo captions”.
Setiap kad ialah satu commit. Pilih tindakan. Seret pemegang atau guna anak panah untuk susun semula.
Atas = paling lama. Git main semula kad dari atas ke bawah.
5ab6383Add gallery pagekekalkan978a45afix typokekalkane2df039captionskekalkan
Petunjuk
fixup untuk salah eja. reword untuk captions.Teka
Anda drop commit “debug log”. Commit itu tambah debug.txt. Apa jadi pada fail itu?
Pilih satu jawapan.
Cuba
Sekarang branch yang lebih bersepah. Alihkan “fix typo” betul-betul di bawah “Add gallery page” dan fixup. Drop “debug log”.
Setiap kad ialah satu commit. Pilih tindakan. Seret pemegang atau guna anak panah untuk susun semula.
Atas = paling lama. Git main semula kad dari atas ke bawah.
5ab6383Add gallery pagekekalkanfe5cd49Add photo captionskekalkan87ddf3efix typokekalkan6961f7bdebug logkekalkan
Petunjuk
Alihkan dulu. fixup sentiasa gabung dengan kad betul-betul di atasnya.Semak
Masa yang sesuai untuk kemas dengan git rebase -i?
Leret ke kanan untuk bagus, ke kiri untuk perlu baiki. Atau guna butang.
Branch anda sendiri, sebelum buka pull request
Anda berjaya!
Kini anda boleh kemaskan commit sebelum anda kongsi.
Nak tahu lebih (pilihan)
Dalam terminal sebenar, git rebase -i main buka senarai ini dalam editor anda. Ubah perkataannya, simpan dan tutup. Sesat? git rebase --abort. Tip: git commit --fixup <commit> tanda pembaikan awal-awal. Kemudian, git rebase -i --autosquash main letakkannya di tempat yang betul untuk anda.
English
Your gallery branch works. But look at that history! Can you tidy it before anyone sees it?
git rebase -i main opens a to-do list of your commits, oldest on top. Change the word in front, and Git replays the list. That’s an interactive rebase.
The words: pick keeps a commit. reword gives it a new message. squash joins it into the one above. fixup joins it and drops its message. drop deletes it.
Fold “fix typo” into the card above it. Rename “captions” to “Add photo captions”.
You drop the “debug log” commit. It added debug.txt. What happens to that file?
Now a messier branch. Move “fix typo” right under “Add gallery page” and fix it up. Drop “debug log”.
Good time to tidy with git rebase -i?
You can now tidy your commits before you share them.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: git rebase (interactive mode) · git commit --fixup
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?