Jumat, 05 July 2024

Menghapus Riwayat Commit di Git: Tutorial Git Checkout Orphan

Jika kamu pernah membuat commit yang berisi kredensialmu ke GitHub dan memiliki banyak commit setelah insiden tersebut, maka akan menjadi masalah besar untuk menghapus kredensial dari riwayat. Jadi, salah satu opsinya adalah menghapus seluruh riwayat commit. Dalam tutorial ini kita akan belajar bagaimana cara melakukannya.

Git

Daftar Isi

Jika kamu pernah membuat commit yang berisi kredensialmu ke GitHub dan memiliki banyak commit setelah insiden tersebut, maka akan menjadi masalah besar untuk menghapus kredensial dari riwayat. Jadi, salah satu opsinya adalah menghapus seluruh riwayat commit. Dalam tutorial ini kita akan belajar bagaimana cara melakukannya.

Orphan

Pertama kita akan membuat perintah untuk membuat branch baru dengan flag --orphan. Flag ini digunakan untuk membuat branch baru tanpa riwayat commit dari branch saat ini. Ini seperti membuat branch baru dari awal (orphan), di mana commit pertama di branch ini akan menjadi commit root baru.

Untuk itu, silakan jalankan perintah berikut:

git checkout --orphan orp_branch

Setelah itu, masukkan semua file ke dalam branch ini:

git add .

Selanjutnya, tambahkan commit message, misalnya:

git commit -m "working in progress"

Setelah commit dibuat, kita akan menghapus branch utama yang sebelumnya, yaitu biasanya main atau master. Ini tergantung branch yang kamu gunakan sekarang:

git branch -D main

Setelah itu, kita akan mengubah nama dari orp_branch ke main:

git branch -m main

Selanjutnya, force push perubahan dengan menambahkan flag -f:

git push -f origin main

TLDR

Berikut adalah perintah untuk menghapus semua riwayat commit nya.

git checkout --orphan orp_branch
git add .
git commit -m "working in progress"
git branch -D main
git branch -m main
git push -f origin main

Kesimpulan

Dengan mengikuti langkah-langkah di atas, kamu dapat menghapus seluruh riwayat commit dan memulai dari awal dengan branch baru. Ini adalah solusi efektif untuk menghilangkan kredensial yang tidak sengaja dimasukkan ke dalam riwayat Git. Pastikan untuk selalu memeriksa kembali commit yang akan kamu push agar kejadian serupa tidak terulang.