Karena kendala aneh eksternal saya tidak dapat mengubah .gitignore
repositori saya. Apakah ada cara untuk mengabaikan file dan direktori selain memodifikasi .gitignore
? Bahkan jika itu adalah solusi global seperti konfigurasi global yang akan diterapkan ke semua repositori saya.
sumber
update-index --assume-unchanged
@see stackoverflow.com/a/25253144/292408update-index --skip-work-tree
. Saya telah mengedit jawaban untuk menambahkan beberapa tautan ke jawaban lama saya yang menggambarkan keduaupdate-index
perintah itu.Jika Anda dapat memodifikasi,
.git/info/exclude
Anda dapat menempatkan aturan yang sama di sana. Tetapi file itu hanya dalam repo lokal Anda.sumber
.git
direktori dalam submodule ....git
folder submodule sebenarnya diparent_repo/.git/modules/submodule_name
. Jadi, Anda akan mengeditparent_repo/.git/modules/submodule_name/info/exclude
Ada tiga cara untuk memberi tahu GIT file mana yang harus diabaikan:
.gitignore
file$GIT_DIR/.git/info/exclude
core.excludesfile
pengaturanDua poin terakhir bisa menyelesaikan masalah Anda.
Untuk informasi lebih lanjut, lihat gitignore (5) .
sumber
Jika Anda hanya ingin memiliki beberapa file lokal di repositori dan lokasi subdirektori fleksibel, Anda dapat memasukkan file Anda
tracked_dir1/tracked_dir2/untracked_dir/
dan kemudian menambahkantracked_dir1/tracked_dir2/untracked_dir/.gitignore
dengan isi seperti:*
Yaitu
sumber
Saya telah dalam situasi yang sama, jadi saya menambahkan solusi pilihan saya yang tidak saya lihat disebutkan. Masalahnya
git update-index --assume-unchanged
dalam hal ini adalah Anda tidak bisa melakukan itu untuk file yang tidak dilacak. Kamu berkataSaya akan berasumsi apa yang Anda maksud adalah bahwa Anda tidak dapat mendorong perubahan apa pun
.gitignore
ke asal. Jika itu yang dapat Anda lakukan adalah menambahkan file yang tidak terlacak ke lokal Anda.gitignore
, maka lakukangit update-index --assume-unchanged .gitignore
agar perubahan Anda ke.gitignore
tidak pernah didorong. Sekarang Anda mengabaikan file (kemungkinan) tidak terlacak, dan tidak mempengaruhi.gitignore
file jarak jauh .sumber
Abaikan perubahan lokal untuk file yang dilacak:
git update-index --assume-unchanged my-file.php
Batalkan perubahan lokal ke file yang dilacak:
git update-index --no-assume-unchanged my-file.php
sumber:
git help update-index
sumber
Anda dapat menggunakan metode global gitignore alih-alih memodifikasi yang ada di proyek https://help.github.com/articles/ignoring-files/#create-a-global-gitignore
sumber
Cara lain:
.gitignore
git update-index --assume-unchanged .gitignore
sumber