Perbaiki: Gitignore tidak Bekerja

GitHub telah muncul sebagai perintis terkemuka dalam bidang kerjasama kod dan perkongsian repositori. GitHub adalah terutamanya perisian kawalan versi yang membolehkan pengguna mengawal kawalan versi diedarkan dan SCM (pengurusan kod sumber). Platform ini digunakan oleh perniagaan utama dan syarikat di seluruh dunia.

.gitignore

Platform seperti ini mempunyai isu teknikal dan isu mereka. Satu masalah khusus yang dialami oleh pengkod adalah bahawa .gitignore tidak berfungsi di GitHub. Platform sama ada mengabaikan .gitignore atau bekerja sebahagiannya. Ia menarik untuk dicatat bahawa masalah mungkin sedikit berbeza dalam setiap kes kerana setiap kes adalah senario yang sama sekali berbeza. Walau bagaimanapun, penyelesaian yang kami senaraikan akan mengandungi perbaikan yang akan berfungsi secara universal.

Apa itu .gitignore?

Git (atau GitHub) melihat setiap fail dalam direktori kerja anda. Ia mencirikan setiap fail sebagai salah satu daripada tiga:

  • Dilacak: Fail-fail ini bersifat komited atau dipentaskan sebelum ini dalam sejarah.
  • Tidak dimatikan: Ini adalah fail yang belum pernah dipentaskan sebelumnya atau dilakukan.
  • Diabaikan: Ini adalah fail yang pengguna sendiri memberitahu Git untuk mengabaikan sepenuhnya.

Fail yang diabaikan ini mungkin berbeza senario untuk senario dan kebanyakannya dihasilkan fail mesin atau membina artifak. Inilah amalan biasa; anda mungkin mengabaikan pelbagai fail lain mengikut keperluan anda sendiri. Beberapa contoh fail ini ialah:

  • Kod yang dikompilasi : Fail-fail ini biasanya mempunyai lanjutan, kelas, .pyc, .ccp dll.
  • Fail sistem tersembunyi: Ini adalah fail yang digunakan oleh sistem untuk operasinya tetapi tersembunyi dari paparan biasa, misalnya, DS_Store atau Thumbs.db, dll.
  • Membina direktori output: Ini kebanyakannya dari direktori / bin, / keluar, dll.
  • Cache pergantungan: Fail-fail ini mungkin kandungan modul / nod atau / pakej.
  • Fail Konfigurasi IDE: Ini adalah fail konfigurasi yang kebanyakannya dibuat atau diuruskan oleh perisian IDE anda.
  • Fail yang dijana semasa runtime: Terdapat beberapa program yang membuat fail pada masa tamat. Sekiranya sama ada kod tersebut dijalankan, beberapa fail mungkin dijana pada waktu larian dalam folder kerja anda dan anda mungkin mengabaikannya dalam Git.

Mana-mana fail yang anda ingin abaikan dijejaki dalam fail khas bernama .gitignore yang kebanyakannya diperiksa di dalam akar repositori kerja anda. Menurut dokumentasi rasmi GitHub mengenai perkara ini, tidak ada perintah gitignore tertentu. Sebaliknya, anda perlu mengedit secara manual fail yang anda mahu abaikan. Fail .gitignore mengandungi corak yang dipadankan dengan nama fail dalam repositori kerja anda dan ini digunakan untuk membantu menentukan sama ada fail tertentu harus diabaikan atau tidak.

Apa yang menyebabkan .gitignore tidak berfungsi?

Ciri .gitignore mungkin berfungsi dengan sempurna tetapi anda mungkin tidak mengkonfigurasinya dengan betul. Dalam semua tinjauan kami, kami menyimpulkan bahawa modul itu memang berfungsi. Sebab mengapa pengkod tidak dapat menggunakan ciri ini kebanyakannya kerana mereka tidak mengkonfigurasi fail dengan betul atau terdapat beberapa syarat yang tidak dipenuhi dalam kod yang mendasari.

Berikut adalah beberapa penyelesaian yang mungkin berfungsi untuk anda. Setiap penyelesaian mungkin tidak terpakai dalam kes anda jadi pastikan anda beralih kepada yang seterusnya jika keadaan awal tidak dipenuhi.

Penyelesaian 1: Memeriksa .gitignore Fail

Kes yang menarik datang di mana kita melihat bahawa fail .gitignore telah dibuat dalam format yang salah. Isu khusus ini berlaku apabila pengguna membuat fail menggunakan aplikasi lalai Notepad dalam Windows OS. Ternyata Notepad menulis fail dalam Unicode dan bukan format ANSI. Dalam penyelesaian ini, kami akan menyimpan perubahan Notepad dalam format .gitignore yang betul dan melihat apakah ini membetulkan masalah.

Nota: Anda perlu mengeluarkan pelanjutan .txt dari fail apabila anda membuat fail baru menggunakan Notepad.

  1. Selepas menulis kod atau perubahan dalam dokumen teks baru di Notepad, klik pada Fail dan pilih Simpan As .

Simpan As - Notepad
  1. Sekarang di hadapan Pengekodan, pilih ANSI . Sekarang keluarkan pelanjutan fail .txt dan simpan fail dengan nama ' .gitignore '. Pilih direktori yang betul dan simpan.

Memilih ANSI sebagai jenis Pengekodan
  1. Navigasi sekarang ke direktori dan semak apakah fail yang betul dibuat. Sekarang cuba lagi dengan Git dan lihat jika ciri Abaikan bekerja seperti yang diharapkan.

Pemaju harus menjauhkan diri daripada menggunakan Notepad lalai dalam Windows. Sebaliknya, anda perlu menggunakan notepad 'programmer' yang betul. Beberapa contoh termasuk Notepad ++ dan lain-lain. Dalam hal itu, anda tidak akan mempunyai masalah seperti ini.

Nota: Jika fail anda telah disimpan dalam format UNICODE, anda harus menyimpan kandungan dalam format ANSI dengan betul jika anda mahu fail anda dikesan dengan betul oleh Git.

Penyelesaian 2: Memeriksa Fail yang cuba anda Abaikan

Satu lagi keadaan di mana kerja .gitignore adalah bahawa fail anda tidak boleh menjadi sebahagian daripada repositori lagi . Ini adalah aspek yang sangat penting seolah-olah ini benar, fail itu tidak akan diabaikan kerana ia telah ditambahkan ke repositori. Git tidak boleh mengabaikannya walaupun anda meletakkan namanya atau memerintah dalam fail .gitignore. Oleh itu pada dasarnya, Git hanya mengabaikan fail-fail yang tidak terjawab .

Anda harus melihat struktur (repositori) anda dan memastikan bahawa fail yang sedang anda cuba abaikan tidak ditambahkan ke repositori. Sekiranya, anda perlu mengeluarkan fail dari repositori dan selepas perubahan terkini dilakukan, tambah namanya kepada .gitignore (anda juga boleh menyalin kandungan fail dan selepas memadamkannya, meniru dengan nama lain) .

Penyelesaian 3: Menambah semula Fail ke Repositori

Jika anda telah menambah peraturan ke dalam .gitignore tetapi fail yang anda mahu tolakkan telah ditambahkan, kami boleh menambah fail. Menambah cara bahawa kita akan membuang segala-galanya dari indeks Git dan kemudian menambah semuanya kembali ke dalam repositori anda. Apabila kami menambah fail sekali lagi dari awal, peraturan akan diingat yang anda telah menambahkan dalam .gitignore dan hanya fail yang betul ditambah.

Nota: Anda harus membuat sandaran kod anda di tempat lain sebelum melaksanakan penyelesaian ini. Ia sentiasa baik untuk mempunyai sandaran sekiranya berlaku.

  1. Keluarkan arahan berikut. Ini akan menamatkan dan menamatkan laluan ke fail anda dari indeks git dengan cara rekursif.
 git rm -r --cached. 
  1. Selepas ini dilaksanakan, anda harus melaksanakan arahan berikut. Ini akan menambah semua fail anda dan sejak .gitignore akan mempunyai peraturan, hanya fail yang betul akan dikemas kini.
 git add. 
  1. Kini kami akan melakukan semua fail anda kembali ke indeks menggunakan kod di bawah:
 git commit -m ".gitignore sekarang bekerja" 

Sekarang periksa fail anda dan lihat jika isu itu telah diselesaikan dan anda boleh menggunakan .gitignore sekali lagi tanpa sebarang masalah.

Artikel Yang Menarik