Daftar Isi

Reset Repository Menggunakan Commit Tertentu

Clone Repository

Lakukan Clone Repository seperti biasa

1
git clone <nama-repository>

Melihat Commit lewat Git Log

Untuk menentukan commit yang akan kita gunakan, kita perlu mengidentifikasi Sha ID dari commit yang akan kita gunakan dari project. Lakukan perintah

1
git log --oneline

Checkout dari Commit Tertentu

Setelah mengetahui Sha-ID untuk commit yang rencananya akan kita gunakan, lakukan checkout

1
git checkout <Sha-ID>

Bersihkan File Local yang tidak digunakan (Untracked Files)

Setelah checkout dari commit tertentu, biasanya terdapat file atau folder yang seharusnya tidak ada di commit yang kita checkout, atau biasa disebut untracked files. Munculnya file ini karena kita melakukan clone repository dari commit terbaru. Untuk mengetahui Untracked files tersebut, lakukan perintah

1
git clean -n -d

Untuk menghapus untracked files, lakukan perintah git clean dengan menambahkan flag -f untuk menghapus file dan flag -d untuk menghapus folder/direktori.

1
git clean -fd

Reset Repository dan Push Force

PERHATIAN Dalam menjalankan reset repository dengan git reset --hard, perlu diketahui bahwa perubahan yang dilakukan setelah commit yang kita checkout atau commit tebaru AKAN IKUT TERHAPUS DI REPOSITORY YANG TELAH KITA UPLOAD, setelah dilakukan git push --force. Untuk itu pastikan melakukan backup terhadap file local sebelum menjalankan perintah reset.

Untuk melakukan reset HEAD dari repository, lakukan perintah

1
git reset --hard <Sha-ID>

Lalu lakukan push force. Perlu diingat, setelah push force ini, maka semua commit yang dilakukan setelah Sha-ID yang kita gunakan saat ini akan terhapus dari Repository Github.

1
git push --force

Referensi

Opensource.com tentang git reset revert rebase commands

Devopscube.com tentang checkout clone specific git commit id sha

Stackoverflow tentang How to remove untracked files from current git

Stackoverflow tentang How do I delete a commit from a branch