Fix: Gitignore tidak berfungsi

GitHub telah muncul menjadi pelopor terkemuka di bidang kolaborasi kode dan berbagi repositori. GitHub pada dasarnya adalah perangkat lunak kontrol versi yang memungkinkan pengguna mengontrol kontrol versi terdistribusi dan SCM (manajemen kode sumber). Platform ini digunakan oleh bisnis dan perusahaan besar di seluruh dunia.

Platform seperti ini memiliki masalah teknis dan masalahnya. Satu masalah khusus yang dialami pembuat kode adalah bahwa .gitignore tidak berfungsi di GitHub. Platform mengabaikan .gitignore atau bekerja sebagian. Menarik untuk dicatat bahwa masalahnya mungkin sedikit berbeda di setiap kasus karena setiap kasus adalah skenario yang sama sekali berbeda. Namun, solusi yang kami cantumkan akan berisi perbaikan yang akan berfungsi secara universal.

Apa itu .gitignore?

Git (atau GitHub) melihat setiap file di direktori kerja Anda. Ini mencirikan setiap file sebagai salah satu dari tiga:

  • Dilacak: File-file ini telah dilakukan atau dipentaskan sebelumnya dalam sejarah.
  • Tidak dilacak: Ini adalah file yang belum dipentaskan atau dilakukan sebelumnya.
  • Diabaikan: Ini adalah file yang menurut pengguna sendiri harus diabaikan sepenuhnya.

File yang diabaikan ini mungkin bervariasi dari satu skenario ke skenario lainnya dan sebagian besar merupakan file yang dibuat oleh mesin atau artefak build. Ini adalah praktik umum; Anda mungkin mengabaikan berbagai file lain sesuai dengan kebutuhan Anda. Beberapa contoh file ini adalah:

  • Kode yang dikompilasi: File-file ini biasanya dengan ekstensi .class, .pyc, .ccp dll.
  • File sistem tersembunyi: Ini adalah file yang digunakan oleh sistem untuk operasinya tetapi disembunyikan dari tampilan biasa, misalnya, DS_Store atau Thumbs.db, dll.
  • Membangun direktori keluaran: Ini sebagian besar adalah direktori / bin, / out, dll.
  • Cache ketergantungan: File-file ini mungkin adalah konten dari / node atau / packages modules.
  • File Konfigurasi IDE: Ini adalah file konfigurasi yang sebagian besar dibuat atau dikelola oleh perangkat lunak IDE Anda.
  • File yang dihasilkan saat runtime: Ada beberapa program yang membuat file pada saat dijalankan. Jika salah satu kode tersebut dijalankan, beberapa file mungkin dibuat pada waktu proses di folder kerja Anda dan Anda mungkin mengabaikannya di Git.

File mana pun yang ingin Anda abaikan dilacak dalam file khusus bernama .gitignore yang sebagian besar diperiksa di root repositori kerja Anda. Menurut dokumentasi resmi GitHub tentang masalah ini, tidak ada perintah gitignore khusus. Sebaliknya, Anda harus mengedit file yang ingin Anda abaikan secara manual. File .gitignore berisi pola yang cocok dengan nama file di repositori kerja Anda dan ini digunakan untuk membantu menentukan apakah file tertentu harus diabaikan atau tidak.

Apa yang menyebabkan .gitignore tidak berfungsi?

Fitur .gitignore mungkin berfungsi dengan sempurna tetapi Anda mungkin belum mengonfigurasinya dengan benar. Dalam semua survei kami, kami sampai pada kesimpulan bahwa modul memang berfungsi. Alasan mengapa pembuat kode tidak dapat menggunakan fitur ini sebagian besar karena mereka belum mengkonfigurasi file dengan benar atau ada beberapa kondisi yang tidak terpenuhi dalam kode yang mendasarinya.

Berikut beberapa solusi yang mungkin berhasil untuk Anda. Setiap solusi mungkin tidak berlaku dalam kasus Anda, jadi pastikan Anda beralih ke solusi berikutnya jika kondisi awal tidak terpenuhi.

Solusi 1: Memeriksa File .gitignore

Kasus yang menarik muncul di mana kami melihat bahwa file .gitignore dibuat dalam format yang salah. Masalah khusus ini terjadi ketika pengguna membuat file menggunakan aplikasi default Notepad di OS Windows. Ternyata Notepad menulis file dalam Unicode dan bukan dalam format ANSI. Dalam solusi ini, kami akan menyimpan perubahan Notepad dalam format .gitignore yang benar dan melihat apakah ini memperbaiki masalah.

Catatan: Anda harus menghapus ekstensi .txt dari file ketika Anda membuat file baru menggunakan Notepad.

  1. Setelah menulis kode atau perubahan pada dokumen teks baru di Notepad, klik File dan pilih Save As .
  1. Sekarang di depan Encoding , pilih ANSI . Sekarang hapus ekstensi file .txt dan simpan file dengan nama ' .gitignore '. Pilih direktori yang benar dan simpan.
  1. Sekarang arahkan ke direktori dan periksa apakah file yang benar dibuat. Sekarang uji lagi dengan Git dan lihat apakah fitur Abaikan berfungsi seperti yang diharapkan.

Pengembang harus menghindari penggunaan Notepad default di Windows. Sebaliknya, Anda harus menggunakan notepad 'programmer' yang tepat. Beberapa contoh termasuk Notepad ++ dll. Di dalamnya, Anda tidak akan mengalami masalah seperti ini.

Catatan: Jika file Anda sudah disimpan dalam format UNICODE, Anda harus menyimpan konten dalam format ANSI dengan benar jika Anda ingin file Anda terdeteksi dengan baik oleh Git.

Solusi 2: Memeriksa File yang Anda coba Abaikan

Kondisi lain di mana .gitignore berfungsi adalah file Anda belum menjadi bagian dari repositori . Ini adalah aspek yang sangat penting karena jika ini benar, file tidak akan diabaikan karena sudah ditambahkan ke repositori. Git tidak dapat mengabaikannya meskipun Anda menempatkan nama atau aturannya di file .gitignore. Jadi intinya, Git hanya mengabaikan file yang tidak terlacak .

Anda harus melihat struktur Anda (repositori) dan memastikan bahwa file yang saat ini Anda coba abaikan tidak ditambahkan ke repositori. Jika ya, Anda harus menghapus file dari repositori dan setelah perubahan terbaru dilakukan, tambahkan namanya ke .gitignore (Anda juga dapat menyalin konten file dan setelah menghapusnya, gandakan dengan nama yang berbeda) .

Solusi 3: Menambahkan kembali File ke Repositori

Jika Anda telah menambahkan aturan ke .gitignore tetapi file yang ingin Anda abaikan sudah ditambahkan, kami dapat menambahkan kembali file tersebut. Menambahkan berarti kita akan menghapus semuanya dari indeks Git dan kemudian menambahkan semuanya kembali ke repositori Anda. Saat kami menambahkan file lagi dari awal, aturan akan diingat yang telah Anda tambahkan di .gitignore dan hanya file yang benar yang ditambahkan.

Catatan: Anda harus mencadangkan kode Anda di tempat lain juga sebelum melakukan solusi ini. Itu selalu baik untuk memiliki cadangan untuk berjaga-jaga.

  1. Jalankan perintah berikut. Ini akan membatalkan pentas dan menghapus jalur ke file Anda dari indeks git secara rekursif.
git rm -r --cached.
  1. Setelah ini dijalankan, Anda harus menjalankan perintah berikut. Ini akan menambahkan semua file Anda kembali dan karena .gitignore akan memiliki aturan, hanya file yang benar yang akan diperbarui.
git add.
  1. Sekarang kami akan memasukkan semua file Anda kembali ke indeks menggunakan kode di bawah ini:
git commit -m ".gitignore sekarang berfungsi"

Sekarang periksa file Anda dan lihat apakah masalahnya teratasi dan Anda dapat menggunakan .gitignore lagi tanpa masalah apa pun.