Peta dunia

 

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

git log --oneline di gallery: debug log, fix typo, Add photo captions, Add gallery page, kemudian commit main. Output terminal: $ git log --oneline 6961f7b (HEAD -> gallery) debug log 87ddf3e fix typo fe5cd49 Add photo captions 5ab6383 Add gallery page 270a76e (main) Add style a8feb63 Add day 1 page 6d3a9b1 Add README

Branch gallery anda berfungsi. Tapi tengok sejarahnya! Boleh anda kemaskan sebelum orang lain nampak?

Tengok

git-rebase-todo
pick 5ab6383 # Add gallery page
pick 978a45a # fix typo
pick e2df039 # captions
Senarai tugasan yang Git buka: tiga baris, paling lama di atas. pick 5ab6383 Add gallery page, pick 978a45a fix typo, pick e2df039 captions.

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

Tiga commit: Add gallery page, fix typo, captions. fix typo cair masuk ke Add gallery page. captions dapat nama baru: Add photo captions.

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.

  • 5ab6383 Add gallery page
    kekalkan
  • 978a45a fix typo
    kekalkan
  • e2df039 captions
    kekalkan
Sejarah sebelum Commit dari yang terbaru: captions, fix typo, Add gallery page, Add style, Add day 1 page, Add README.
6d3a9b1a8feb63270a76e5ab6383978a45ae2df039

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.

  • 5ab6383 Add gallery page
    kekalkan
  • fe5cd49 Add photo captions
    kekalkan
  • 87ddf3e fix typo
    kekalkan
  • 6961f7b debug log
    kekalkan
Sejarah sebelum Commit dari yang terbaru: debug log, fix typo, Add photo captions, Add gallery page, Add style, Add day 1 page, Add README.
6d3a9b1a8feb63270a76e5ab6383fe5cd4987ddf3e6961f7b

Semak

Masa yang sesuai untuk kemas dengan git rebase -i?

Leret ke kanan untuk bagus, ke kiri untuk perlu baiki. Atau guna butang.

1 / 4

Branch anda sendiri, sebelum buka pull request

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.