Peta dunia

 

EN: Read in English

Dunia 2: Sihir Undur

Buang satu perubahan

Anda akan belajar: cara buang perubahan yang anda tak mahu.

Teks BM belum disemak oleh penutur asli.

Masalahnya

index.html bergoyang dalam folder kerja anda. Ia bertanda diubah. Commit terakhir anda selamat dalam repositori.

Anda ubah index.html, dan ia jadi rosak. Ctrl+Z tak boleh undur sejauh itu. Jadi, macam mana?

Tengok

Arahan git restore index.html menaip sendiri. Tanda diubah pada index.html hilang. Fail itu sama semula dengan commit terakhir.

git restore index.html kembalikan fail itu kepada versi terakhir yang disimpan. Ini dipanggil restore: Kembalikan fail ke versi yang disimpan. (pulihkan).

Tengok

git diff index.html tunjuk perubahan yang akan hilang: baris Day 1 jadi oops oops oops. Output terminal: $ git diff index.html diff --git a/index.html b/index.html index a8ad0de..eca16c6 100644 --- a/index.html +++ b/index.html @@ -1,2 +1,2 @@ <h1>My Diary</h1> -<p>Day 1: I learned Git.</p> +<p>oops oops oops</p>

⚠️ Bahaya: restore buang perubahan anda terus. Git tak pernah simpan perubahan itu, jadi tiada undo. Semak dulu dengan git diff.

Cuba

Buang index.html yang rosak. Kekalkan perubahan style.css anda.

Folder kerja
Kawasan staging
  • Kosong
Repositori
  • 3 titik simpan
  • Add style
  • Add day 1 page
  • Add README

Teka

Sekarang anda jalankan git restore style.css. Apa jadi pada tajuk warna teal anda?

Pilih satu jawapan.

Semak

README.md dipadam, jadi ls tak senaraikannya. Selepas git restore README.md, ls senaraikannya semula. Output terminal: $ rm README.md $ ls index.html style.css $ git restore README.md $ ls index.html README.md style.css

Terpadam fail yang dah disimpan? git restore bawa ia balik. Fail itu ada dalam commit (titik simpan), jadi Git masih ada salinannya.

Anda berjaya!

Kini anda boleh buang perubahan yang anda tak mahu. Dengan berhati-hati!

Nak tahu lebih (pilihan)

git restore salin dari kotak. Kalau fail itu dah di-stage, anda dapat versi dalam kotak. git restore . pulihkan semua fail yang dijejak. Panduan lama guna git checkout -- index.html. Hasilnya sama.

Cara lama: git checkout -- index.html juga buang perubahan pada index.html. Output terminal: $ git status -s M index.html M style.css $ git checkout -- index.html $ git status -s M style.css