Git Lanjutan: Monorepo, Submodul dan Aliran Kerja · Pelajaran

Menyelamatkan Kerja dengan Reflog dan Stash

Kuasai jaringan keselamatan Git: gunakan reflog untuk memulihkan keadaan selepas reset dan rebase yang salah, serta gunakan stash untuk mengetepikan dan memulihkan kerja yang sedang dijalankan dengan selamat semasa pemulihan.

Pelajaran 4 daripada 413 langkah

Menyelamatkan Kerja dengan Reflog dan Stash ialah pelajaran Git Lanjutan: Monorepo, Submodul dan Aliran Kerja percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Git Lanjutan: Monorepo, Submodul dan Aliran Kerja, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Git Lanjutan: Monorepo, Submodul dan Aliran Kerja merangkumi sejumlah 4 pelajaran.

Git Jarang Kehilangan Data

Perintah reset atau rebase yang tersilap mungkin kelihatan seperti memusnahkan kerja anda, tetapi Git hampir tidak pernah benar-benar kehilangan komit. Komit tersebut menjadi tidak boleh dicapai, bukannya dipadamkan, dan masih boleh dipulihkan selama beberapa minggu.

Log rujukan ialah peta anda untuk kembali kepadanya.

Perkara yang Direkodkan oleh Log Rujukan

Log rujukan merekodkan setiap pergerakan HEAD dan hujung cawangan: komit, daftar keluar, tetapan semula, rebase dan penggabungan. Log ini bersifat setempat dan tidak dikongsi, seperti diari peribadi tentang lokasi rujukan anda sebelum ini.

git reflog
# a1b2c3d HEAD@{0}: reset: moving to HEAD~3
# 9f8e7d6 HEAD@{1}: commit: add feature

Memulihkan Selepas Tetapan Semula yang Tersilap

Anda menjalankan git reset --hard dan kehilangan komit? Cari SHA sebelum tetapan semula dalam log rujukan dan tetapkan semula kepadanya.

git reflog
git reset --hard HEAD@{1}

Memulihkan Selepas Rebase yang Tersilap

Rebase menulis semula komit. Jika berlaku kesilapan, log rujukan masih menyimpan hujung sebelum rebase. Arahkan cawangan anda kembali kepadanya.

git reflog
git reset --hard HEAD@{5}  # the entry just before 'rebase'

Memulihkan Satu Komit yang Hilang

Anda tidak semestinya mahu menetapkan semula seluruh cawangan. Untuk menghidupkan semula satu komit sahaja, pilih ceri SHA-nya daripada log rujukan.

git cherry-pick 9f8e7d6

Stash sebagai Jaring Keselamatan

Sebelum operasi pemulihan yang berisiko, simpan kerja yang belum dikomit dengan git stash. Perintah ini menyimpan perubahan dengan kemas supaya anda boleh bereksperimen tanpa kehilangannya.

git stash push -m 'wip before recovery'

Memeriksa dan Memulihkan Stash

Senaraikan stash dan pulihkan salah satu daripadanya. apply mengekalkannya dalam senarai; pop memulihkan dan menghapuskannya.

git stash list
git stash show -p stash@{0}
git stash pop stash@{0}

Memulihkan Stash yang Terbuang

Anda terbuang stash secara tidak sengaja? Stash juga merupakan komit. Cari komit terawang itu dan gunakan semula.

git fsck --no-reflogs | grep commit
git stash apply <dangling-sha>

Mencari Objek Yatim dengan fsck

Apabila log rujukan pun tidak menunjukkannya, git fsck --lost-found mencari komit dan gumpalan terawang, iaitu alat pemulihan pilihan terakhir.

git fsck --lost-found

Jam Pengumpulan Sampah

Objek yang tidak boleh dicapai kekal sehingga pengumpulan sampah memangkasnya, secara lalai selepas kira-kira 30 hari bagi entri log rujukan. Pulihkan dengan segera; jangan biarkan beberapa minggu berlalu sebelum anda mula mencarinya.

Log Rujukan Hanya Bersifat Setempat

Ingat: log rujukan hanya wujud dalam klon anda. Log rujukan rakan sepasukan tidak akan menunjukkan pergerakan anda, dan klon baharu tidak memilikinya. Jika anda memerlukan kebolehpulihan yang dikongsi, hantar cawangan atau tag sebelum melakukan operasi berisiko.

Semakan Pantas

Uji pemahaman anda tentang alat pemulihan Git.

Rumusan

Anda telah mempelajari jaring keselamatan Git: log rujukan memulihkan keadaan selepas tetapan semula dan rebase yang tersilap, pilih ceri memulihkan komit tunggal yang hilang, stash melindungi kerja yang sedang berjalan, fsck mencari objek terawang, dan jam GC bermaksud anda hendaklah melakukan pemulihan dengan segera. Git jarang kehilangan data jika anda tahu tempat untuk mencarinya.

Percuma untuk bermula

Pelajari Git Lanjutan: Monorepo, Submodul dan Aliran Kerja dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
12
Pelajaran
48

Soalan Lazim

Adakah pelajaran “Menyelamatkan Kerja dengan Reflog dan Stash” percuma?

Ya — teks penuh “Menyelamatkan Kerja dengan Reflog dan Stash” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Git Lanjutan: Monorepo, Submodul dan Aliran Kerja, tingkat taraf kepada CoddyKit PRO. Kursus Git Lanjutan: Monorepo, Submodul dan Aliran Kerja merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Menyelamatkan Kerja dengan Reflog dan Stash”?

Kuasai jaringan keselamatan Git: gunakan reflog untuk memulihkan keadaan selepas reset dan rebase yang salah, serta gunakan stash untuk mengetepikan dan memulihkan kerja yang sedang dijalankan dengan… Anda berlatih Git Lanjutan: Monorepo, Submodul dan Aliran Kerja menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Git Lanjutan: Monorepo, Submodul dan Aliran Kerja?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Git Lanjutan: Monorepo, Submodul dan Aliran Kerja di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.

Berapa lamakah pelajaran “Menyelamatkan Kerja dengan Reflog dan Stash” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Git Lanjutan: Monorepo, Submodul dan Aliran Kerja ini?

Ya. Setiap pelajaran Git Lanjutan: Monorepo, Submodul dan Aliran Kerja menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Memulihkan Komit dan Cabang yang Hilang
  2. Penyahpepijatan dengan Git Bisect
  3. Mengoptimumkan Prestasi Repositori Git
  4. Menyelamatkan Kerja dengan Reflog dan Stash
← Kembali ke Git Lanjutan: Monorepo, Submodul dan Aliran Kerja