Peta dunia

 

EN: Read in English

Dunia 3: Alam Selari

Simpan kerja sementara dengan stash

Anda akan belajar: simpan kerja separuh siap, tukar branch, dan ambil semula.

Teks BM belum disemak oleh penutur asli.

Masalahnya

bash
git switch main
error: Your local changes to the following files would be overwritten by checkout:
style.css
Please commit your changes or stash them before you switch branches.
Aborting
git switch main gagal: perubahan anda pada style.css akan ditimpa. Git minta anda commit atau stash dulu sebelum tukar branch.

Tema gelap baru separuh siap. Tiba-tiba: ada pembaikan segera di main! Git tak benarkan anda tukar. Sekarang macam mana?

Tengok

style.css, dengan perubahan belum siap, keluar dari folder dan masuk ke dalam laci. Folder anda bersih.

git stash simpan perubahan yang belum siap dalam laci. Folder anda bersih semula, jadi anda boleh tukar branch. Laci itu ialah stash: Laci untuk perubahan yang belum siap. Folder jadi bersih; ambil semula kemudian. (simpanan sementara).

Cuba

Simpan kerja anda dalam laci. Kemudian tukar ke main.

Folder kerja
Kawasan staging
  • Kosong
Repositori
  • 4 titik simpan
  • Start dark mode
  • Add style
  • Add day 1 page

Tengok

git stash simpan kerja. git stash pop kembalikannya: style.css ditunjuk sebagai modified, dan entri stash dibuang. Output terminal: $ git stash Saved working directory and index state WIP on dark-mode: 2e1b6b1 Start dark mode $ git stash pop On branch dark-mode Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: style.css no changes added to commit (use "git add" and/or "git commit -a") Dropped refs/stash@{0} (019f9dcc44c3bbf75b2a3c793747f47c00b90299)

Dah siap pembaikan? git stash pop keluarkan kerja paling baru dari laci. Ia kembali ke folder anda.

Cuba

Anda dah baiki main. Kembali ke dark-mode dan keluarkan kerja anda dari laci.

Folder kerja
  • Kosong
Kawasan staging
  • Kosong
Repositori
  • 4 titik simpan
  • Fix home page title
  • Add style
  • Add day 1 page

Teka

Anda stash dua kali, kemudian pop sekali. Kerja mana yang keluar?

Pilih satu jawapan.

Semak

Ini laci dengan dua entri.

Ketik entri yang git stash pop akan keluarkan.

~/diary $ git stash list

0 daripada 1 dijumpai

Anda berjaya!

Kini anda boleh simpan kerja sementara dan ambil semula kemudian.

Nak tahu lebih (pilihan)

git stash -u ambil juga fail baru yang belum dijejak. git stash push -m "nota" tambah label. git stash apply kembalikan kerja tapi simpan salinan dalam laci. git stash drop buang satu entri terus. Pop boleh bertembung dengan perubahan baru. Masa itu, penanda tertulis Updated upstream dan Stashed changes.