mengatasi github Error non-fast-forward
Error non-fast-forward terjadi karena repository di GitHub (remote) memiliki commit/file baru yang belum ada di folder komputer Anda (lokal). Git menolak proses push secara otomatis untuk mencegah terhapusnya riwayat perubahan yang ada di server.
Skenario Penyebab Utama:
- Mencentang pembuatan README,
.gitignore, atau License saat pertama kali membuat repo di website GitHub, sementara Anda menginisialisasi Git lokal terpisah viagit init. - Ada file yang diubah/diunggah dari tempat lain (misalnya Anda mengedit file langsung di web GitHub atau dari komputer lain) dan belum Anda tarik (pull) ke lokal.
Cara Mengatasinya
Solusi 1: Gabungkan Perubahan Remote ke Lokal (Direkomendasikan)
Gunakan cara ini jika Anda ingin menyatukan isi file yang ada di GitHub (misalnya README) dengan file dari komputer Anda:
Bash
git pull origin main --allow-unrelated-histories
Jika terjadi konflik file, selesaikan konflik tersebut (buka file yang bentrok, rapikan, lalu
git add . dan git commit). Setelah itu, jalankan push kembali:Bash
git push origin main
Solusi 2: Timpa Repository GitHub (Force Push)
Gunakan cara ini hanya jika file yang ada di GitHub tidak penting (misalnya hanya file README bawaan) dan Anda ingin menimpanya secara penuh dengan file dari komputer Anda:
Bash
git push origin main --force
Catatan: Hati-hati Perintah--forceakan menghapus semua file/commit yang ada di GitHub yang belum ada di komputer lokal Anda.
Comments