Saya ingin menghentikan Git agar tidak menampilkan file yang diabaikan git status
, karena memiliki banyak dokumentasi dan file konfigurasi dalam daftar file yang Diubah tetapi tidak diperbarui , membuat daftar menjadi setengah tidak berguna.
Apakah normal bagi Git untuk menampilkan file-file ini?
Saya meletakkan informasi pengabaian dalam .gitignore
file di direktori root dari repositori Git dan mereka tidak ditambahkan ketika menggunakan git add .
tetapi tampaknya mereka juga tidak sepenuhnya diabaikan, karena mereka muncul dalam daftar yang disebutkan di atas dan tidak muncul dalam daftar. dicetak oleh git ls-files --others -i --exclude-standard
. Hanya file yang cocok dengan pola yang ~/.gitignore
ditampilkan di sana.
Mungkinkah karena pada tahap awal saya tidak mengabaikan mereka dan mereka melakukannya setidaknya sekali?
git status -- <file>
menampilkan "Perubahan yang tidak dilakukan untuk komit" atau "File yang tidak dilacak" untuk file Anda? Yang pertama adalah jika Anda sudah memiliki file dalam indeks dan saya akan membutuhkan lebih banyak informasi untuk menyelesaikan masalah Anda (lebih baik buat pertanyaan terpisah dengan pesan git yang ditampilkan dan cukup kirim tautan ke dalamnya dalam komentar). Nantinya adalah untuk file yang tidak dilacak oleh git (belum), tetapi tidak dalam.gitignore
file dan dapat dengan bebas ditambahkan ke indeks.Saya mengalami masalah ini juga, mungkin karena Anda menambahkan direktori / file yang diabaikan ke .gitignore setelah ditandai sebagai "dilacak" oleh GIT dalam alur komit awal.
Jadi, Anda perlu menghapus cache pelacakan git seperti:
git rm --cached -r [folder/file name]
Penjelasan lebih rinci dapat dibaca di sini: http://www.frontendjunkie.com/2014/12/stop-git-from-tracking-changes-to.html
Perintah di atas juga menghapus sisa folder / file dari asal GIT Anda. Jadi repositori GIT Anda menjadi bersih.
sumber
Masalahnya bisa jadi file ini masih dalam cache git. Untuk mengatasi masalah ini perlu mengatur ulang git cache.
Setel ulang git cache. Ini menghapus semuanya dari indeks.
Tambahkan semua file lagi:
Melakukan:
sumber
Ini pasti berhasil,
git rm --cached -r [folder/file name]
sumber
Saya berasumsi Anda tidak ingin menambahkan direktori tmp (Visual Studio Platform)
1- tambahkan baris di bawah ini ke file .gitignore lokal Anda
3 - backup dan hapus Folder tmp secara lokal. (Cadangkan di tempat lain. Mis. Desktop?)
4- Mengkomit Perubahan ke Lokal daripada Sinkronisasi ke Jarak Jauh (mis. Github).
Setelah langkah-langkah ini direktori tmp Anda tidak akan diunggah lagi.
sumber
Dari man git-lsfiles :
Secara pribadi saya cenderung menyimpan file doxygen di pohon sumber saya, jadi saya hanya menambahkan ini ke .gitignore saya (yang ada di direktori teratas dari pohon sumber saya):
Semoga itu bisa membantu.
sumber
Langkah-langkah berikut hanya berfungsi untuk file yang tidak dilacak . Info ini berlaku untuk konfigurasi berikut:
Masukkan daftar file yang akan diabaikan dalam file "kecualikan" yang ada di lokasi berikut.
Konten awal dari file "kecualikan"
Konten akhir dari file "kecualikan"
sumber
Sesuai jawaban yang diterima, Anda dapat menganggap file sebagai tidak berubah , sehingga apa pun yang Anda lakukan pada mesin lokal Anda tidak dikomit ke cabang jauh Anda.
Sesuatu seperti di
git update-index --assume-unchanged src/main/resources/config.properties
mana src / main.resources / config.properties adalah contoh path untuk menemukan file itu di dalam proyek Anda.Sekarang, jika Anda ingin menghapus file sepenuhnya dari repositori Anda, Anda mungkin ingin menggunakan
remove cached
sebagai ganti dari `git rm --cachedSkenario ini dapat diterapkan pada situasi berikut:
sumber
seperti ini
Dan akan menunjukkan status hanya untuk folder saya
sumber