Judul menjelaskan semuanya. Saya mencoba menambahkan paket NuGet saya ke repositori. Semuanya kecuali file .dll sedang terdeteksi.
File gitignore tidak berisi referensi ke * .dll. File .dll tidak dikenali saat berada di mana pun di seluruh repositori. info / exclude juga kosong.
Saya juga telah mengkloning repositori (sistem file ke sistem file sebagai lawan dari remote ke file-sysytem) tanpa hasil. Masalah ini juga terjadi di dua komputer berbeda.
Saya dapat menambahkan file .dll secara manual, tetapi mereka harus dilacak. Mengapa mereka tidak dilacak?
git config --get core.excludesfile
dikatakannya?Jawaban:
Apakah Anda memiliki salah satu
~/.gitignore_global
atau~/.gitignore
di direktori home Anda yang juga dapat mencantumkan pola file ini?Lihat https://help.github.com/articles/ignoring-files
sumber
git check-ignore
untuk mencari tahu di mana file itu. Suka di ~ / Documents / gitignore_global.txtJika Anda menggunakan SourceTree dan pengaturan default akan mengabaikan semua DLL secara default ... Tools => Options => Git lalu "Edit File" ... tambahkan "#" sebelum .dll => "# .dll" .. . Simpan dan tutup.
Kemudian untuk Windows Explorer di folder paket Anda, buka terminal GitBash dan ketik "git add." dan biarkan bekerja, kembali ke SourceTree tunggu sebentar dan semua paket DLL yang hilang akan muncul untuk Anda komit dan dorong.
sumber
Tidak, mereka tidak boleh dilacak, kecuali Anda telah menambahkannya. Hanya file yang telah ditambahkan dan dikomit dilacak; itulah yang dimaksud dengan "dilacak".
Coba tambahkan secara manual salah satunya melalui
git add
dan itu akan memberi tahu Anda mengapa itu mengabaikannya, dan meminta Anda untuk menggunakangit add -f
untuk menambahkan file itu.sumber
Anda perlu memberi tahu git secara eksplisit untuk melacak file baru.
Jalankan
git add filename
untuk menambahkan file ke indeks git.Jalankan
git commit
untuk melakukan perubahan dalam indeks Anda.git status
juga harus menampilkan daftar file dan direktori yang tidak terlacak.Jika Anda ingin membuat daftar semua file di repo yang diabaikan oleh gitignore, Anda dapat menjalankan:
Jika Anda ingin membuat daftar semua file yang tidak terlacak di repo:
sumber
Saya menghadapi masalah serupa. Saya tidak dapat menambahkan file .dll dari direktori paket ke git saya, kemudian saya menemukan file gitignore_global.txt karena sourcetree secara otomatis menambahkan file ini sebagai pengaturan global git ignore. Saya menghapus * .dll dari file gitignore_global.txt dan berfungsi dengan baik untuk saya.
Lokasi file gitignore_global.txt seperti di bawah ini
C: \ Users \ XXXX \ Documents \ gitignore_global.txt atau Anda dapat menemukannya dari sourcetree TOOL => OPTION => tab GIT dan temukan daftar abaikan global
sumber
Dalam kasus saya, tidak ada referensi .dll di file .gitignore, dan saya tidak memiliki file global. Namun pada subdirektori .git, saya menemukan sebuah file bernama ms-persist.xml. Saya menutup semua contoh Visual Studio, dan kemudian menambahkan .dlls saya yang hilang secara manual ke file itu. Ketika saya membuka kembali studio visual, .dlls menunjukkan perlu untuk diperiksa. Saya memeriksanya dan sekarang saya emas ...
sumber
Anda memiliki file global di
.gitignore
suatu tempat atau lebih jauh.gitignore
dalam subdirektori - relatif terhadap root proyek Anda.Pada Sistem Linux dan MacOS, git-ignore global kemungkinan besar ada di Rumah Anda
~/
~/.gitignore_global
Di Windows, kemungkinan ada di Direktori Pengguna Anda. Entah pengguna lokal Anda (yang dapat Anda temukan dengan mengetik
ECHO %USERPROFILE%
atauwhoami
di baris perintah.Jika tidak ada, maka pasti yang
.gitconfig
hadir. Lihat di sini untuk lokasi gitignore (mis.Documents
Folder Pengguna ).Edit : Gunakan
git config --list --show-origin
untuk mendapatkan detail tentang kontribusi git-settings dan lokasi file yang sesuai.sumber
Saya tahu pertanyaan ini sudah sangat tua, tetapi saya menambahkan untuk orang lain yang mungkin mengunjungi pertanyaan ini di masa mendatang. Anda dapat memodifikasi file abaikan global Anda seperti jawaban yang disebutkan di atas, tetapi itu akan memengaruhi SEMUA repo git Anda. Sebaliknya, jika Anda menginginkan pendekatan yang lebih terperinci, Anda dapat mengecualikan DLL tertentu atau folder tertentu di masing-masing proyek .gitignores. Ini mengesampingkan semua pengaturan abaikan dan memaksa file untuk dideteksi dan ditangani oleh git. Saya pikir ini adalah pendekatan yang lebih baik.
.gitignore (untuk proyek khusus Anda)
sumber