.gitignore diabaikan oleh Git

1513

.gitignoreFile saya tampaknya diabaikan oleh Git - dapatkah .gitignorefile tersebut rusak? Format file, lokal atau budaya mana yang diharapkan oleh Git?

Saya .gitignore:

# This is a comment
debug.log
nbproject/

Output dari git status:

# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       debug.log
#       nbproject/
nothing added to commit but untracked files present (use "git add" to track)

Saya ingin debug.logdan nbproject/tidak muncul dalam daftar file yang tidak terlacak.

Di mana saya harus mulai mencari cara untuk memperbaikinya?

Matt Parkins
sumber
56
Pastikan .gitignorefile Anda menggunakan ANSIatau UTF-8menyandikan. Jika menggunakan sesuatu yang lain seperti Unicode BOM, mungkin Git tidak dapat membaca file.
ADTC
8
@ADTC ini persis masalah pada mesin saya (Windows). Saya telah menggunakan echo "file" > .gitignorePowerShell, file tersebut memiliki pengkodean UCS-2!
MarioDS
7
git rm --cached debug.log nbproject/
Gayan Weerakutti
4
Mengapa komentar pertama di sini bukan jawaban di luar jangkauan saya
RedOrav
2
@MattParkins Ah saya melihatnya sekarang, masih mengejutkan saya bahwa jawaban yang begitu sederhana dan to the point dimakamkan sebagai komentar atau yang diterima sebenarnya ada di sana. Terima kasih!
RedOrav

Jawaban:

3121

Bahkan jika Anda belum melacak file sejauh ini, Git tampaknya dapat "tahu" tentang mereka bahkan setelah Anda menambahkannya .gitignore.

PERINGATAN: Pertama komit perubahan Anda saat ini, atau Anda akan kehilangan mereka.

Kemudian jalankan perintah berikut dari folder teratas repositori Git Anda:

git rm -r --cached .
git add .
git commit -m "fixed untracked files"
Alin Huruba
sumber
8
Saya mendapat "penggunaan: git rm [options] [-] <file> ..." dicetak ketika saya mencoba "git rm -r --cached". Jika itu penting, saya menggunakan Git dari dalam PowerShell setelah mengklik "Tools-> Buka shell di sini" di GitHub untuk Windows.
Soonts
61
pada Windows: git rm. -r --cached dan git add.
Beachhouse
90
Waspadai untuk melakukan semua perubahan Anda sebelumnya, jika tidak, Anda akan kehilangan kendali atas semua file yang diubah !!
Cosmin
45
3 komentator pertama tampaknya telah melewatkan titik pada akhirnya. Ini berarti setiap file. "git -rm -r --cached." <- perhatikan titiknya.
Christophe De Troyer
18
Jika Anda tidak ingin melakukan, solusinya adalah meletakkan perubahan Anda di rak: "git stash". Jalankan perintah di atas. dan jalankan "git stash pop"
Ivan Voroshilin
335

Jika sepertinya Git tidak memperhatikan perubahan yang Anda buat pada .gitignorefile Anda, Anda mungkin ingin memeriksa poin-poin berikut:

  • Mungkin ada .gitignorefile global yang dapat mengganggu file lokal Anda
  • Saat Anda menambahkan sesuatu ke file .gitignore, coba ini:

    git add [uncommitted changes you want to keep] && git commit
    git rm -r --cached .
    git add .
    git commit -m "fixed untracked files"
    
  • Jika Anda menghapus sesuatu dari file .gitignore, dan langkah-langkah di atas mungkin tidak berfungsi, jika Anda menemukan langkah-langkah di atas tidak berfungsi, coba ini :

    git add -f [files you want to track again]
    git commit -m "Refresh removing files from .gitignore file."
    
    // For example, if you want the .java type file to be tracked again,
    // The command should be:
    //     git add -f *.java
    
ifeegoo
sumber
3
Mungkin Anda bisa mengedit jawaban @AlinHuruba untuk menambahkan langkah 3 Anda?
Benj
@Benj Terima kasih atas saran Anda, saya tidak menemukan jawaban AlinHuruba, saya tidak tahu apa bedanya, jadi tolong beri tahu saya langsung.
ifeegoo
2
Langkah 3 adalah apa yang saya butuhkan. Sebagian besar jawabannya hanya memberi tahu cara menghapus file yang ingin kita lacak. Terima kasih atas sudut pandang yang berlawanan.
Yeung
Semoga ini bisa membantu Anda!
ifeegoo
7
git rm -r --cached .bekerja untuk saya
Jason
198

Tetap. OK, saya membuat file .gitignore di Notepad pada Windows dan tidak berfungsi. Ketika saya melihat file .gitignore di Linux itu tampak seperti omong kosong terorganisir - mungkin Notepad telah menulis Unicode daripada ASCII atau apa pun 8-bit.

Jadi saya menulis ulang file di kotak Linux saya, dan ketika saya menariknya kembali ke Windows berfungsi dengan baik! Hore!

Matt Parkins
sumber
77
Di Notepad cukup pilih pengkodean "ANSI" di dialog "Simpan Sebagai". Atau lebih baik lagi, dapatkan editor teks yang tepat - setelah semua Anda seorang programmer :) ... Saya dapat merekomendasikan "Programmer's Notepad", yang lain lebih suka Notepad ++ dan ada ratusan lagi di luar sana.
0xC0000022L
1
hehe, ya, saya harus membuatnya di netbeans (yang saya gunakan saat itu), gerhana atau studio visual. Saya baru saja memanggilnya dari commandline berpikir itu tidak akan membuat perbedaan.
Matt Parkins
8
Masalah saya serupa - .gitignore saya menggunakan UTF8 dengan BOM . Baru saja menyimpannya sebagai UTF8 tanpa BOM dan secara ajaib mulai bekerja.
Phil
13
Ini juga masalah saya. Saya telah membuat file .gitignore dengan "echo dirName> .gitignore" karena Windows membuatnya sangat sakit untuk membuat file yang dimulai dengan ".". Pengkodean file yang dibuat dengan cara ini tidak dapat dibaca oleh git, dan ia menafsirkannya sebagai file biner. Mengklik "Pengkodean -> UTF-8" di Notepad ++, simpan, selesai.
Laura
4
Punya masalah yang sama dengan @Laura di PowerShell - file secara default disimpan sebagai UTF16.
mrówa
113

Tanpa menambahkan komitmen lain ke proyek Anda, satu baris akan cukup untuk membuat .gitignorepekerjaan seperti yang seharusnya:

git rm -r --cached debug.log nbproject

Ini akan menghapusnya dari repositori, tetapi tetap menyimpannya secara fisik. Dalam bahasa Inggris yang sederhana, menghapus semua perubahan yang terkait dengan mereka, dan juga tidak akan melacak perubahan mereka di masa depan komit. Anda dapat menemukan penjelasan yang lebih baik di sini .

H Aßdøµ
sumber
1
Bekerja persis seperti yang saya inginkan - Saya hanya punya 1 file yang tidak dilacak dengan benar. Saya menyimpan isinya di notepad, dan melakukan: git rm -r --cached someFile.phpdan itu bekerja seperti pesona :)
ShayLivyatan
@FMFF Ini akan menghapusnya dari repositori tetapi tetap menyimpannya secara fisik, dalam bahasa Inggris, menghapus semua perubahan yang terkait dengan mereka, dan juga tidak akan melacak perubahan mereka di komit di masa depan. Penjelasan yang lebih baik dapat Anda temukan di sini: stackoverflow.com/questions/37279654/…
H Aßdøµ
Saya mendapat "fatal: pathspec 'debug.log' tidak cocok dengan file mana pun"
Michael
45

Penyebab lain dari masalah ini adalah spasi atau tab kosong sebelum pernyataan:

Contoh:

# Be aware of the following:
 notWorkingIgnore.*
workingIgnore.*

Dan seperti yang ditunjukkan oleh komentar di bawah ini, ruang tambahan juga bisa menjadi masalah:

# Be aware of the following:
notWorkingIgnore.* #<-Space
workingIgnore.*#<-Nospace
Rawa
sumber
11
Ruang tertinggal adalah masalah saya, yang bahkan lebih sulit untuk ditemukan.
amr
3
juga memiliki masalah spasi spasi tambahan.
Trefex
3
Ya, sama di sini. Saya pikir saya bisa menulis komentar setelah pola berkas: *.txt # Tex files. Tapi git mengerti: "Abaikan file dengan ekstensi txt "
Adam Libuša
3
Kata-kata saya, perlu waktu 2 hari untuk menemukan jawaban yang tervotifikasi dengan 15 pilihan ini. Ini lebih layak.
fordcars
2
Anda baru saja menyelesaikan masalah yang saya alami selama berbulan-bulan ... Terima kasih!
Arkellys
36

Saya perhatikan bahwa pengkodean .gitignorememiliki efek - jika file itu Unicode, diabaikan, jika ASCII, itu tidak.

Proses:

  1. Verifikasi status: PS> git status
  2. Buat fungsi untuk Get-FileEncoding
  3. .gitignorePengkodean uji :PS> Get-FileEncoding .gitignore
  4. Ubah penyandian menjadi ASCII:PS> Set-Content .gitignore -Encoding Ascii -Value (Get-Content .gitignore)
  5. Konfirmasi: PS> git status
craig
sumber
5
1000 terima kasih untuk ini. Saya sedang membuat file .gitignore di sistem saya menggunakan touch .gitignoredan echo ".db" >> .gitignoremerutekan melalui powershell. Saya menemukan bahwa echo ".db" >> .gitignore"pengaturan penyandian file ke UCS-2 LE-BOM, konversi cepat ke ASCII dan gitignore mulai berfungsi.
B-Rad
2
Anda dapat mencoba dengan melompati Langkah 2 & 3.
Aniket Bhansali
32

Seperti solusi lainnya, komit terlebih dahulu dan sadari bahwa Anda akan kehilangan perubahan yang tidak berkomitmen.

Saya memiliki hasil yang lebih baik dengan ini:

git rm -r --cached .
git reset HEAD --hard
git status

Perhatikan bahwa statusnya seharusnya tidak memiliki file yang dimodifikasi sekarang.

Steven Stark
sumber
2
ini tidak bekerja untuk saya tetapi jawaban ifeegoo tidak
fanny
21

Dalam kasus saya, itu karena file-file sudah ada di repositori dan saya mencoba untuk mengabaikannya.

Ini adalah hal-hal yang saya lakukan untuk memperbaiki masalah ini:

  • Salin file ke folder sementara
  • Hapus dari folder proyek saya.
  • Lakukan perubahan yang menghapus file-file itu dari repositori
  • Menambahkan kembali file-file itu ke folder proyek saya

Pada saat itu, setiap perubahan yang saya buat pada file-file itu diabaikan.

Saya pikir Anda tidak dapat mengabaikan file yang sudah ada di repositori.

Edesa
sumber
Dalam kasus saya, mereka sudah dipentaskan. Hanya setelah melakukan apa yang Anda sarankan, kemudian berusaha untuk melakukan dan melihat peringatan bahwa mereka telah dipentaskan dan dipindahkan, saya menyadari bahwa itulah masalahnya.
dudeNumber4
19

Semua jawaban di sini sebenarnya adalah solusi. Anda perlu membuat file .gitignore sebelum Anda menjalankan git init. Kalau tidak, tidak gitakan pernah tahu Anda perlu mengabaikan file-file itu, karena mereka sudah dilacak.

echo .idea/ >> .gitignore
git init

Jika Anda mengembangkan setiap hari, saya menyarankan Anda untuk menambahkan file yang diabaikan kebiasaan Anda ke file Anda ~/.gitignore_global. Dengan begitu, Anda gitsudah tahu file mana yang Anda (artinya "pengguna Anda", karena itu file di direktori home Anda) biasanya diabaikan.

CESCO
sumber
Terima kasih Tuhan ... akhirnya solusi yang bekerja untuk saya.
Dbl
~/.gitignore_globaladalah nama yang dapat dikonfigurasi. Jalankan git config --global core.excludesfilepertama untuk melihat apakah Anda sudah memiliki file yang ditentukan. Jika tidak, jalankan git config --global core.excludesfile ~/.gitignore_global.
Noumenon
Penanganan masalah jika Anda tidak membuat .gitignoredulu: ganti nama file yang dilacak. .gitignoreakan diterapkan seolah-olah itu baru.
Noumenon
15

Periksa juga direktori tempat Anda meletakkan .gitignore.

Itu harus di root proyek Anda :

./myproject/.gitignore

Tidak masuk

./myproject/.git/.gitignore
Artem Zaytsev
sumber
9

Khusus untuk pengguna Windows: Jika Anda memiliki file yang tidak dilacak dan menghapus / menghapus file yang di-cache tidak berfungsi. Coba buka PowerShell dan konversikan file .gitignore ke pengkodean UTF-8:

$Myfile = Get-Content .\.gitignore`
$Myfile | Out-File -Encoding "UTF8" .gitignore

Anda hanya perlu melakukan ini satu kali untuk menyandikan file .gitignore untuk direktori itu, dan karena file tersebut kemudian disandikan dengan benar, setiap kali Anda mengedit file di masa depan itu harus berfungsi. Saya percaya ini karena kesalahan dengan GitHub tidak akan membaca pengkodean non UTF-8 untuk file .gitignore. Sejauh yang saya ketahui masalah ini belum terselesaikan untuk Windows. Ini bukan masalah besar, hanya rasa sakit untuk debug ketika itu tidak berfungsi.

maximusg
sumber
8

Ada masalah lain dengan .gitignoreitu yang mungkin terjadi, terutama untuk pengguna Windows. Git tidak suka ketika Anda memberi nama .gitignore(seperti unity.gitignore).

Anda pasti ingin selalu menamainya .gitignore, atau di Windows, .gitignore.karena Windows berpikir Anda mencoba untuk menamainya tanpa nama file.

Goldblaze
sumber
7

Saya baru saja mengalami masalah ini. Konten dalam file .gitignore saya terus muncul dalam daftar file yang tidak dilacak.

Saya menggunakan ini untuk membuat file abaikan:

echo "node_modules" > .gitignore

Ternyata kutip ganda menyebabkan masalah bagi saya. Saya menghapus file abaikan dan kemudian menggunakan perintah lagi tanpa tanda kutip, dan itu berfungsi seperti yang diharapkan. Saya tidak perlu dipusingkan dengan pengkodean file. Saya menggunakan mesin Windows 10 menggunakan Cmder .

Contoh:

echo node_modules > .gitignore
bprdev
sumber
Aneh, pernyataan gema ini memperbaiki masalah yang saya miliki secara lokal di mana file yang diabaikan yang saya hapus secara tidak sengaja dan kemudian dibuat ulang muncul sebagai file yang dapat ditaklukkan, yang tidak dapat dilacak. Untuk beberapa alasan, meskipun ini tidak mengubah file abaikan saya, itu memperbaiki masalah saya.
Patrick
6

Bagi saya tidak ada jawaban sebelumnya yang berfungsi. Saya harus menyalin .gitignoreteks ke exclude.txtfile yang ditemukan di

<Your-project-folder>\.git\info

Setelah selesai, segarkan perubahan Anda dan semua file yang tidak terlacak hilang. Berkomitmen seperti biasa.

raga
sumber
6

Masalah saya adalah (seperti yang disarankan OP) file .gitignore yang korup. Saya tidak percaya itu dan mengabaikan kemungkinan sampai semuanya gagal. Korupsi tidak munculvi , tetapi ada dua byte di awal file yang menyebabkan file .gitignore diabaikan. Bagi saya, ini hanya muncul ketika saya mengetik cat .gitignore, yang menunjukkan:

��# Built application files
*.apk
*.ap_

# ...

Saya tidak tahu bagaimana ini berakhir di sana, tetapi membuat ulang file memperbaiki masalah. Analisis hex file korup menunjukkan berikut ini:

user@dev ~/project/myproject $ xxd -b .gitignore
00000000: 11111111 11111110 00100011 00000000 00100000 00000000  ..#. .
00000006: 01000010 00000000 01110101 00000000 01101001 00000000  B.u.i.
pcdev
sumber
2
Itu terlihat seperti tanda pesanan UTF-16 byte dalam file yang dikodekan UTF-8. en.wikipedia.org/wiki/Byte_order_mark
jsageryd
6

Saya mengalami masalah ini, dengan file .gitignore yang berisi baris ini:

lib/ext/

Saya baru menyadari bahwa sebenarnya, direktori ini adalah tautan simbolis ke folder di tempat lain:

ls -la lib/ext/
lrwxr-xr-x 1 roipoussiere users 47 Feb  6 14:16 lib/ext -> /home/roipoussiere/real/path/to/the/lib

Di telepon lib/ext/, Git sebenarnya mencari folder , tetapi tautan simbolik adalah file , jadi libfolder saya tidak diabaikan.

Saya memperbaikinya dengan mengganti lib/ext/dengan lib/extdalam file .gitignore saya.

roipoussiere
sumber
5

Saya punya masalah yang sama. Saya percaya masalahnya adalah perbedaan CR vs CR + LF. Saya menyembunyikan sesuatu di .gitignore saya menggunakan CMD (pada Windows 7) dan perintah berikut:

Buruk:

echo "file_to_be_ignored.py" >> .gitignore<br>
echo "*~" >> .gitignore

Dll

Masalahnya adalah bahwa perintah ini tidak menempatkan penanda end-of-line yang benar untuk Git untuk mengenali baris baru (baik CR atau CR + LF ketika Git mengharapkan yang lain). Saya memecahkan masalah dengan secara manual mengganti setiap baris baru di Vim (Vim untuk menyelamatkan!) Dan itu berhasil dengan sempurna.

Coba edit .gitignore Anda di Notepad ++ atau Vim (idealnya). Bahkan jika file tersebut terlihat diformat dengan benar, coba ganti baris baru. Kedengarannya aneh, saya tahu, tetapi itu berhasil untuk saya. : D

fiktif
sumber
4

OK, jadi dalam kasus saya solusi yang diterima tidak bekerja, dan apa yang berhasil dijelaskan di sini:

Apakah Visual Studio 2013 mengabaikan file .gitignore Anda?

Pendeknya:

  • Tutup Visual Studio.
  • Arahkan ke folder .git Anda
  • Menghapus ms-persist.xml
  • Mulai ulang Visual Studio
Bartosz
sumber
3

Satu hal yang juga perlu diperhatikan: Apakah Anda menyimpan file .gitignore Anda dengan akhiran baris yang benar?

Windows:

Jika Anda menggunakannya di Windows, apakah Anda menyimpannya dengan ujung jalur Windows? Tidak semua program akan melakukan ini secara default; Notepad ++ dan banyak editor PHP default untuk akhir baris Linux sehingga file akan kompatibel dengan server. Salah satu cara mudah untuk memeriksanya, adalah membuka file di Windows Notepad. Jika semuanya muncul pada satu baris, maka file itu disimpan dengan ujung garis Linux.

Linux:

Jika Anda mengalami masalah dengan file yang bekerja di lingkungan Linux, buka file dalam editor seperti Emacs atau nano . Jika Anda melihat karakter yang tidak dapat dicetak, maka file tersebut disimpan dengan ujung jalur Windows.

Rumah pantai
sumber
3

Alasan lain yang mungkin - beberapa contoh klien Git berjalan pada saat yang sama . Misalnya, "git shell" + "GitHub Desktop", dll.


Ini terjadi pada saya. Saya menggunakan "GitHub Desktop" sebagai klien utama, dan mengabaikan beberapa pengaturan .gitignore baru: komit setelah komit:

  1. Anda melakukan sesuatu.
  2. Selanjutnya, komit: mengabaikan pengaturan .gitignore. Commit menyertakan banyak file sementara yang disebutkan dalam .gitignore.
  3. Bersihkan cache Git; periksa apakah .gitignore adalah UTF-8; hapus file → komit → pindahkan file kembali; lewati satu komit - tidak ada yang membantu.

Alasan : editor Visual Studio Code sedang berjalan di latar belakang dengan repositori terbuka yang sama. Visual Studio Code memiliki kontrol Git bawaan, dan ini menyebabkan beberapa konflik.

Solusi : periksa ulang beberapa klien Git tersembunyi dan gunakan hanya satu klien Git sekaligus, terutama saat membersihkan cache Git.

Oleg Zarevennyi
sumber
3

Sudah ada beberapa jawaban bagus, tapi situasiku membosankan. Saya telah mengedit sumber perangkat lunak PLM (manajemen siklus hidup produk) yang diinstal pada Win10 dan sesudahnya memutuskan, "Saya mungkin seharusnya membuat ini repo git."

Jadi, opsi cache tidak akan bekerja untuk saya, secara langsung. Posting untuk orang lain yang mungkin telah menambahkan kontrol sumber SETELAH melakukan banyak pekerjaan awal DAN .gitignoretidak berfungsi TETAPI, Anda mungkin takut kehilangan banyak pekerjaan jadi git rm --cachedbukan untuk Anda.

PENTING: Ini benar-benar karena saya menambahkan git terlalu terlambat ke "proyek" yang terlalu besar dan sepertinya mengabaikan .gitignore saya. Saya TIDAK pernah melakukan, pernah. Saya bisa pergi dengan ini :)

Pertama, saya baru saja melakukannya:

rm -rf .git
rm -rf .gitignore

Kemudian, saya harus memiliki gambar perubahan saya. Sekali lagi, ini adalah produk instal yang telah saya ubah. Terlambat untuk komit pertama dari cabang master murni. Jadi, saya perlu daftar apa yang saya ubah sejak saya menginstal program dengan menambahkan > changed.logsalah satu dari berikut ini:

PowerShell

# Get files modified since date.
Get-ChildItem -Path path\to\installed\software\ -Recurse -File | Where-Object -FilterScript {($_.LastWriteTime -gt '2020-02-25')} | Select-Object FullName

Pesta

# Get files modified in the last 10 days...
find ./ -type f -mtime -10

Sekarang, saya memiliki daftar saya tentang apa yang saya ubah dalam sepuluh hari terakhir (mari jangan masuk ke praktik terbaik di sini selain untuk mengatakan, ya, saya melakukan ini pada diri saya sendiri).

Untuk awal yang baru, sekarang:

git init .
# Create and edit .gitignore

Saya harus membandingkan daftar yang diubah dengan .gitignore saya yang sedang tumbuh, berjalan git statusketika saya memperbaikinya, tetapi suntingan saya di .gitignore dibaca saat saya mulai.

Akhirnya, saya sudah daftar perubahan yang diinginkan! Dalam kasus saya ini adalah boilerplate - beberapa tema bekerja bersama dengan beberapa konfigurasi xml khusus untuk menjalankan sistem dev terhadap perangkat lunak ini yang ingin saya masukkan dalam repo untuk pengembang lain untuk meraih dan berkontribusi pada ... Ini akan menjadi cabang utama kami, jadi melakukan, mendorong, dan, akhirnya CABANG untuk pekerjaan baru!

Neil Guy Lindberg
sumber
2

Hapus saja folder atau file, yang sebelumnya dilakukan di Git, dengan perintah berikut. Maka file gitignore akan mencerminkan file yang benar.

    git rm -r -f "folder or files insides"
Atif Hussain
sumber
2

Satu hal rumit yang tidak dicakup oleh jawaban lain di sini adalah bahwa file .gitignore tidak akan berfungsi jika Anda memiliki komentar sebaris, seperti ini:

foo/bar # The bar file contains sensitive data so we don't want to make this public

Jadi, jika Anda memiliki komentar seperti itu, ubahlah seperti ini:

# The bar file contains sensitive data so we don't want to make this public
foo/bar
James
sumber
2

Ini juga kemungkinan Anda mengedit .gitignorefile dengan sudoperintah. Saya mengalami masalah yang sama dan ketika menjalankan perintah:, git statussaya masih bisa melihat file "harus diabaikan".

Setelah mengedit dengan nano .gitignorebukannya sudo nano .gitignore, saya bisa melihat refleksi yang benar.

aviral sanjay
sumber
2

Saya telah membuat .gitignore menggunakan echo "..." > .gitignoredi PowerShell di Windows, karena itu tidak membiarkan saya membuatnya di Windows Explorer.

Masalah dalam kasus saya adalah penyandian file yang dibuat, dan masalahnya diselesaikan setelah saya mengubahnya ke ANSI.

Ahmad
sumber
2

Saya juga punya masalah yang sama di Ubuntu, saya buat .gitignoredari terminal dan itu berfungsi untuk saya

touch .gitignore

UA_
sumber
2

Milik saya tidak berfungsi karena saya telah secara literal membuat dokumen teks bernama .gitignore

Sebagai gantinya, buat dokumen teks, buka di Notepad ++ lalu simpan sebagai .gitignore

Pastikan untuk memilih Semua jenis (*. *) Dari dropdown saat Anda menyimpannya.


Atau di gitbash, cukup gunakan touch .gitignore

Kari
sumber
1

Jika Anda pengguna Notepad ++ , coba lakukan hal berikut:

Buka file .gitignore Anda menggunakan Notepad ++ dan lakukan:

Edit Menu → Konversi EOLFormat WindowsSimpan .

Coba gunakan git statuslagi dan lihat apakah itu cocok untuk Anda.

Saya telah memposting jawaban untuk pertanyaan serupa di sini .

Ozesh
sumber
1

Bagi saya itu adalah masalah lain. File .gitignore saya diatur untuk mengabaikan segalanya kecuali hal-hal yang saya katakan tidak diabaikan. Seperti itu:

/*
!/content/

Sekarang ini jelas berarti bahwa saya juga memberitahu Git untuk mengabaikan file .gitignore itu sendiri. Yang tidak menjadi masalah selama saya tidak melacak file .gitignore. Tetapi pada beberapa titik saya melakukan file .gitignore itu sendiri. Ini kemudian menyebabkan file .gitignore diabaikan dengan benar.

Jadi menambahkan satu baris lagi memperbaikinya:

/*
!/content/
!.gitignore
pengguna8118328
sumber
1

Masalah saya adalah saya menulis file untuk diabaikan dengan tanda kutip "" pemisahan bukan dengan slash /.

Ini tidak berhasil dan diabaikan oleh git:

"db.sqlite3"
"tdd_venv/"

Ini bekerja dengan baik:

/db.sqlite3
/tdd_venv/

Saya juga memeriksa penyandian file saya di windows dengan Notepad ++. Pengkodean diatur ke UTF-8.

JSalys
sumber