Pertanyaan Abaikan file yang sudah dikomit ke repositori Git [duplikat]


Pertanyaan ini sudah memiliki jawaban di sini:

Saya sudah menginisialisasi repositori Git yang saya tambahkan a .gitignore file ke. Bagaimana saya bisa me-refresh indeks file sehingga file yang saya inginkan diabaikan dapat diabaikan?


2189
2017-07-16 19:26


asal


Jawaban:


Untuk membuka celah a tunggal file yang sudah ditambahkan / diinisialisasi ke repositori Anda, yaitu, berhenti melacak file tetapi tidak menghapusnya dari penggunaan sistem Anda: git rm --cached filename

Untuk membuka jalan setiap file yang sekarang ada di Anda .gitignore:

Pertama lakukan perubahan kode yang luar biasa, lalu, jalankan perintah ini:

git rm -r --cached .

Ini menghapus semua file yang diubah dari indeks(area pementasan), lalu jalankan saja:

git add .

Komit itu:

git commit -m ".gitignore is now working"

Untuk membatalkan git rm --cached filename, gunakan git add filename.

Pastikan untuk melakukan semua perubahan penting Anda sebelum berjalan git add .    Jika tidak, Anda akan kehilangan perubahan apa pun ke file lain.


3656
2017-07-06 17:09



Jika Anda mencoba mengabaikan perubahan ke file yang sudah dilacak di repositori (misalnya file dev.properties yang Anda perlukan untuk mengubah lingkungan lokal Anda tetapi Anda tidak akan ingin memeriksa perubahan ini) daripada apa yang ingin Anda lakukan aku s:

git update-index --assume-unchanged <file>

Jika Anda ingin mulai melacak perubahan lagi

git update-index --no-assume-unchanged <file>

Lihat git-update-index (1) Halaman Manual.

Juga lihatlah skip-worktree dan no-skip-worktree pilihan untuk pembaruan-indeks jika Anda perlu ini untuk bertahan melewati git-reset (melalui)


Memperbarui: Karena orang telah bertanya, inilah yang nyaman (dan diperbarui sejak dikomentari di bawah) alias untuk melihat file mana yang saat ini "diabaikan" (--assume-unchanged) di ruang kerja lokal Anda

$ git config --global alias.ignored = !git ls-files -v | grep "^[[:lower:]]"

518
2017-09-14 23:55



Untuk melepaskan file yang telah ditambahkan / diinisialisasi ke repositori Anda, yaitu berhenti melacak file tetapi tidak menghapusnya dari penggunaan sistem Anda: git rm --cached filename


351
2017-07-18 08:15



Iya nih - .gitignore sistem hanya mengabaikan file yang saat ini tidak berada di bawah kontrol versi dari git.

Yaitu. jika Anda sudah menambahkan file bernama test.txt menggunakan git-add, lalu menambahkan test.txt untuk .gitignore masih akan menyebabkan perubahan test.txt untuk dilacak.

Anda harus melakukannya git rm test.txt pertama dan komit perubahan itu. Hanya kemudian akan berubah menjadi test.txt diabaikan.


78
2018-02-02 15:59



Hapus spasi kosong di .gitignore

Juga, pastikan Anda tidak memiliki spasi kosong di gitignore Anda. Saya mendapatkan pertanyaan ini karena saya sedang mencari jawaban, kemudian saya merasa lucu saya harus membuka editor, bukan hanya memberi cat .gitignore. Menghapus satu spasi ekstra dari ujung dan poof itu berhasil sekarang :)


50
2017-07-15 07:22



saya mengikuti langkah-langkah ini

git rm -r --cached .
git add .
git reset HEAD

setelah itu, git menghapus semua file (* .swp dalam kasus saya) yang seharusnya mengabaikan.


40
2018-03-02 09:00



Jika Anda ingin menghentikan pelacakan file tanpa menghapus file dari sistem lokal Anda, yang saya lebih suka mengabaikan config/database.yml mengajukan. Cukup coba:

git rm --cached config/database.yml
# this will delete your file from git history but not from your local system.

sekarang, tambahkan file ini ke .gitignorefile dan komit perubahan. Dan mulai sekarang, setiap perubahan yang dibuat ke config / database.yml tidak akan dilacak oleh git.

$ echo config/database.yml >> .gitignore

Terima kasih


37
2017-08-21 14:20