Cara mengembalikan website/repo ke versi sebelum revisi, jika setelah upload hasilnya error atau tidak sesuai. Cocok untuk guru dan santriwati yang memakai GitHub Pages.
Inti pelajaran: GitHub menyimpan sejarah commit. Selama pernah di-commit dan di-push, versi lama masih bisa dikembalikan — lewat website atau Git Bash.
CepatScript otomatis: di dalam folder repo, jalankan curl -fsSL https://skripkeren.silverhawk.web.id/restore.sh | bash
Pilih nomor commit dari daftar, ketik YA untuk konfirmasi. Cocok di Codespaces maupun desktop.
Klik jumlah commit di atas daftar file (tulisan seperti XX commits)
Muncul daftar commit dari terbaru ke lama
Baca pesan commit — pilih yang sebelum revisi bermasalah
A2. Lihat isi repo di commit lama (hanya melihat)
Di daftar commit, klik hash/kode commit (misalnya a1b2c3d)
Klik tombol Browse files
Kamu melihat seluruh folder seperti di masa itu (read-only)
A3. Kembalikan satu file saja
Browse files di commit lama
Buka file yang ingin dikembalikan (misalnya app.js)
Klik tombol Raw → salin isinya, atau unduh
Kembali ke branch utama (Code → branch main)
Buka file yang sama → ikon pensil (Edit) → tempel isi lama → Commit changes
A4. Revert commit terakhir (disarankan untuk pemula)
Revert = membuat commit baru yang membatalkan perubahan commit tertentu. Sejarah tetap aman.
Buka XX commits
Buka commit yang ingin dibatalkan
Jika tersedia, gunakan menu Revert (pada beberapa tampilan ada di menu “…”)
Atau: pakai Git Bash (lihat bagian B2) — lebih andal
Web
Di UI GitHub, “Revert” tidak selalu muncul untuk semua commit (terutama merge). Kalau tidak ada, pakai Git Bash.
3. Cara B — Git Bash
Ganti ayahelang/cbt jika nama repo berbeda.
B0. Masuk ke folder repo
cd ~
git clone https://github.com/ayahelang/cbt.git
cd cbt
# jika sudah pernah clone:
# cd ~/cbt && git pull
B1. Lihat sejarah commit
git log --oneline -15
Contoh output:
f9a1b20 replace CBT fixed build
c33de10 hapus file sampah
a91e002 update retake supabase
7c2bb10 versi stabil sebelum revisi ← misalnya ini yang ingin dikembalikan
Salin hash commit target (misalnya 7c2bb10).
B2. Cara aman: git revert (disarankan)
Membatalkan commit terbaru tanpa menghapus sejarah. Cocok jika sudah di-push dan dipakai bersama.
# batalkan 1 commit terbaru
git revert HEAD --no-edit
git push origin main
# atau batalkan commit tertentu
git revert a91e002 --no-edit
git push origin main
Aman
Revert tidak “menghapus masa lalu”. Teman/guru lain tetap bisa git pull tanpa konflik aneh.
B3. Kembalikan seluruh project ke commit lama (reset)
Hati-hatireset --hard + push --force menimpa sejarah remote. Hanya lakukan jika kamu yakin, dan idealnya repo tidak sedang diedit orang lain.
# 1) pindah ke kondisi commit lama (lokal)
git reset --hard 7c2bb10
# 2) kirim ke GitHub (MENIMPA branch remote)
git push origin main --force
Ganti main menjadi master jika branch default repo kamu master.
B4. Hanya coba versi lama di laptop (tanpa mengubah GitHub)
git log --oneline -10
git checkout 7c2bb10
# lihat-lihat / uji lokal...
# kembali ke branch utama:
git checkout main
B5. Pulihkan satu file dari commit lama
git checkout 7c2bb10 -- app.js
git add app.js
git commit -m "restore app.js dari versi stabil"
git push origin main