GIT

# Cara Menghapus History Commit Tertentu

Table of Contents

Pernahkah kamu cosplay menjadi orang bdh dan ntah secara sengaja atau secara tidak sengaja mengupload file .env ke repo publik? kondisi tll ini sering sekali terjadi, biasanya karena lupa mengatur .gitignore dan mengecualikan file .env production

Pada artikel ini, saya akan membahas cara menghapus history commit tertentu di Git.

Jika kamu ingin menghapus file .env dari semua commit di repository Git kamu, kamu bisa menggunakan git filter-branch atau git filter-repo. Tetapi, git filter-branch sekarang sudah dianggap deprecated dan digantikan oleh git filter-repo.

Contoh penggunaan git filter-repo

git filter-repo adalah alat yang lebih cepat dan lebih fleksibel daripada git filter-branch. Kamu bisa menginstalnya melalui Python package manager (pip).

1. Instal git filter-repo

Jika kamu belum menginstalnya, jalankan:

Terminal window
pip install git-filter-repo

2. Jalankan perintah berikut untuk menghapus .env dari riwayat commit

Terminal window
git filter-repo --invert-paths --path .env

Ini akan menghapus semua file .env dari seluruh riwayat commit dan menggantikan git filter-branch dengan cara yang lebih efisien.

3. Perbarui remote repository

Setelah itu, lakukan push ke remote repository menggunakan --force:

Terminal window
git push --force --all
git push --force --tags

Menambahkan .env ke .gitignore

Setelah menghapus .env dari riwayat commit, pastikan untuk menambahkannya ke file .gitignore agar tidak dimasukkan kembali ke dalam commit di masa depan.

  1. Tambahkan .env ke file .gitignore:

    Terminal window
    echo ".env" >> .gitignore
  2. Lalu commit perubahan tersebut:

    Terminal window
    git add .gitignore
    git commit -m "Add .env to .gitignore"
    git push

Dengan langkah-langkah ini, kamu akan berhasil menghapus file .env dari riwayat commit dan mencegahnya agar tidak muncul di commit selanjutnya.

Next: Cara Merge Commit Tertentu dari Repo lain
Dika Ardianta

Terima kasih telah membaca artikel di website ini. Jangan ragu untuk menjelajahi artikel lainnya!

Dika Ardianta


Git Tutorial Series

Comments