.gitignore
File saya tidak berfungsi karena suatu alasan, dan tidak ada jumlah Googling yang dapat memperbaikinya. Inilah yang saya miliki:
*.apk
*.ap_
*.dex
*.class
**/bin/
**/gen/
.gradle/
build/
local.properties
**/proguard/
*.log
Itu ada di direktori master
, yang merupakan repositori git saya. Saya menjalankan Git 1.8.4.2 karena saya menggunakan MacBook yang menjalankan OSX 10.8.6.
/bin/
folder masih menunjukkan ketika saya melakukangit status
. Saya belum mengubah file-file itu sejak saya menambahkan.gitignore
Jawaban:
File / folder di kontrol versi Anda tidak akan hanya menghapus sendiri hanya karena Anda menambahkannya ke
.gitignore
. Mereka sudah ada di repositori dan Anda harus menghapusnya. Anda bisa melakukannya dengan ini:( Ingatlah untuk melakukan semua yang telah Anda ubah sebelum Anda melakukan ini. )
Ini menghapus semua file dari repositori dan menambahkannya kembali (kali ini menghormati aturan di Anda
.gitignore
).sumber
git ignore path/file
kapan saja.Untuk membuka kembali file tunggal yang telah ditambahkan / diinisialisasi ke repositori Anda, yaitu, berhenti melacak file tetapi tidak menghapusnya dari sistem Anda gunakan:
git rm --cached filename
Untuk membuka kembali setiap file yang sekarang ada di Anda
.gitignore
:Pertama komit setiap perubahan kode yang luar biasa, dan kemudian, jalankan perintah ini:
Ini menghapus semua file yang diubah dari indeks (area pementasan), kemudian jalankan:
Komit:
sumber
Setelah turun sedikit dari lubang kelinci mencoba mengikuti jawaban untuk pertanyaan ini (mungkin karena saya harus melakukan ini dalam proyek studio visual), saya menemukan jalan yang lebih mudah adalah dengan
Potong dan tempel file yang tidak lagi ingin saya lacak ke lokasi sementara
Lakukan "penghapusan" file-file itu
Lakukan modifikasi
.gitignore
untuk mengecualikan file yang saya pindah sementaraPindahkan file kembali ke folder.
Saya menemukan ini menjadi cara yang paling lurus ke depan untuk melakukan hal itu (setidaknya di studio visual, atau saya akan menganggap lingkungan berbasis IDE heave lain seperti Android Studio), tanpa sengaja menembak kaki saya dengan kaki yang cukup luas
git rm -rf --cached .
, setelah itu proyek studio visual yang saya kerjakan tidak memuat.sumber
Dalam kasus saya itu adalah ruang kosong di awal file yang muncul dengan jelas ketika saya membuka file di Notepad, tidak jelas dalam Visual Studio Code.
sumber
Saya menggunakan sesuatu untuk menghasilkan umum
.gitignore
bagi saya dan saya berlari ke ini. Setelah membaca @Ozesh, saya membuka kode VS karena memiliki indikator yang bagus di kanan bawah yang menunjukkan jenis akhir baris. Itu LF jadi saya dikonversi ke CRLF seperti yang disarankan tetapi tidak ada dadu.Kemudian saya melihat di samping akhir baris dan memperhatikan bahwa itu disimpan menggunakan UTF16. Jadi saya res resize menggunakan UTF8 encoding voila, itu berhasil. Saya tidak berpikir CRLF itu penting jadi saya mengubahnya kembali ke LF untuk memastikan dan itu masih berfungsi.
Tentu saja ini bukan masalah OPs karena dia sudah melakukan file sehingga mereka sudah diindeks, tapi pikir saya akan berbagi kalau-kalau ada orang lain yang tersandung di sini.
TLDR ; Jika Anda belum mengkomit file dan .gitignore masih tidak dihormati maka periksa encoding file dan, pastikan UTF8-nya dan jika itu tidak berhasil maka mungkin coba main-main dengan akhiran baris.
sumber
Dalam kasus saya spasi putih di akhir baris .gitignore adalah penyebabnya. Jadi hati-hati dengan spasi putih di .gitignore!
sumber
Saya memecahkan masalah saya dengan melakukan hal berikut:
Pertama-tama, saya adalah pengguna windows, tetapi saya telah menghadapi masalah serupa. Jadi, saya memposting solusi saya di sini.
Ada satu alasan sederhana mengapa terkadang .gitignore tidak berfungsi seperti yang seharusnya. Ini karena perilaku konversi EOL.
Ini adalah perbaikan cepat untuk itu
Edit> Konversi EOL> Format Windows> Simpan
Anda dapat menyalahkan pengaturan editor teks Anda untuk itu.
Sebagai contoh:
Karena saya seorang pengembang windows, saya biasanya menggunakan Notepad ++ untuk mengedit teks saya tidak seperti pengguna Vim.
Jadi yang terjadi adalah, ketika saya membuka file .gitignore saya menggunakan Notepad ++, tampilannya seperti ini:
Jika saya membuka file yang sama menggunakan Notepad default, inilah yang saya dapatkan
Jadi, Anda mungkin sudah menebak dengan melihat output. Segala sesuatu di .gitignore telah menjadi satu baris, dan karena ada ## pada awalnya, ia bertindak seolah-olah semuanya dikomentari.
Cara untuk memperbaikinya sederhana: Buka saja file .gitignore Anda dengan Notepad ++, lalu lakukan hal berikut
Edit> Konversi EOL> Format Windows> Simpan
Lain kali Anda membuka file yang sama dengan notepad default windows, semuanya harus diformat dengan benar. Cobalah dan lihat apakah ini cocok untuk Anda.
sumber
Juga, komentar harus sesuai dengan keinginan mereka. Mereka tidak dapat dimasukkan setelah entri. Jadi ini tidak akan berhasil:
Tetapi ini akan berhasil:
sumber
Apakah
git reset --hard
bekerja untuk siapa saja? Saya tidak mengatakan ini adalah solusi yang baik, sepertinya hanya berfungsi pertama kali saya mencoba.sumber
Saya melakukan kesalahan besar dengan mengedit dockerignore saya, bekerja dengan baik setelah saya menemukan file abaikan yang tepat: p
sumber
Menambahkan bit saya karena ini adalah pertanyaan yang populer.
Saya tidak dapat menempatkan direktori .history di dalam .gitignore karena apa pun kombo yang saya coba, itu tidak berhasil. Windows terus menghasilkan file baru di setiap penyimpanan dan saya tidak ingin melihatnya sama sekali.
Tetapi kemudian saya menyadari, ini hanyalah lingkungan pengembangan pribadi saya di mesin saya. Hal-hal seperti .history atau .vscode khusus untuk saya sehingga akan aneh jika semua orang memasukkan entri .gitignore mereka sendiri berdasarkan pada IDE atau OS apa yang mereka gunakan.
Jadi ini bekerja untuk saya, cukup tambahkan ".history" ke .git / info / kecualikan
sumber