Reset Repository Menggunakan Commit Tertentu
Clone Repository
Lakukan Clone Repository seperti biasa
|
|
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
|
|
Checkout dari Commit Tertentu
Setelah mengetahui Sha-ID untuk commit yang rencananya akan kita gunakan, lakukan checkout
|
|
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
|
|
Untuk menghapus untracked files, lakukan perintah git clean
dengan menambahkan flag -f
untuk menghapus file dan flag -d
untuk menghapus folder/direktori.
|
|
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 dilakukangit push --force
. Untuk itu pastikan melakukan backup terhadap file local sebelum menjalankan perintah reset.
Untuk melakukan reset HEAD dari repository, lakukan perintah
|
|
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.
|
|
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