Saya ingin mengatur Git untuk mengabaikan file-file tertentu secara global.
Saya telah menambahkan .gitignore
file ke direktori home saya ( /Users/me/
) dan saya telah menambahkan baris berikut ke dalamnya:
*.tmproj
Tapi itu tidak mengabaikan jenis file ini, tahu apa yang saya lakukan salah?
.git/info/exclude
dalam repo, jadi tidak harus masuk ke file global. Juga, file global gitignore default dan otomatis adalah$HOME/.config/git/ignore
.Jawaban:
Anda perlu mengatur
core.excludesfile
file konfigurasi global Anda untuk menunjuk ke file pengabaian global ini.misalnya
* nix atau Windows git bash:
Windows cmd:
Windows PowerShell:
Untuk Windows diatur ke lokasi
C:\Users\{myusername}\.gitignore
. Anda dapat memverifikasi bahwa nilai konfigurasi sudah benar dengan melakukan:Hasilnya harus berupa jalur yang diperluas ke profil pengguna Anda
.gitignore
. Pastikan nilai tersebut tidak mengandung%USERPROFILE%
string yang tidak dikembangkan .Penting : Perintah di atas hanya akan mengatur lokasi file abaikan yang akan digunakan git. File tersebut masih harus dibuat secara manual di lokasi itu dan diisi dengan daftar abaikan. (dari komentar muruge )
Anda dapat membaca tentang perintah di https://help.github.com/articles/ignoring-files/#create-a-global-gitignore
sumber
HEAD
indeks Anda atau Anda tidak akan membuat perbedaan apakah file itu pernah dilacak atau tidak. Mungkin bermanfaat jika Anda menambahkan output darigit status
,git config core.excludesfile
ke pertanyaan Anda.#
di awal baris di dalam~/.gitignore
untuk menambahkan komentar di dalam file abaikan global?%USERPROFILE%
variabel. Saya harus memasukkan path lengkap ke file menggunakan pemisah direktori * nix. mis. core.excludesfile C: /Users/User/.gitignoreSebelum mengkonfigurasi ulang file yang dikecualikan global, Anda mungkin ingin memeriksa apa itu saat ini dikonfigurasi, menggunakan perintah ini:
Dalam kasus saya, ketika saya menjalankannya saya melihat file global saya dikecualikan
dan sudah ada beberapa hal yang terdaftar di sana. Jadi dalam kasus pertanyaan yang diberikan, mungkin masuk akal untuk memeriksa dulu file yang dikecualikan, dan menambahkan file mask baru ke dalamnya.sumber
Meskipun jawaban lain benar, mereka menetapkan nilai konfigurasi global sedangkan ada lokasi default git untuk file abaikan global git:
* nix:
Windows:
Anda mungkin perlu membuat
git
direktori danignore
file tetapi kemudian Anda dapat mengabaikan global Anda ke dalam file itu dan hanya itu!Sumber
...
sumber
git
perintah tertentu . Karena ini adalah file pengaturan di direktori masing-masing pengguna, saya tidak berpikir itu harus ditimpa.~/.config/git/ignore
.Untuk membuat global gitignore dari awal:
C:/Users/User
.gitignore_global
ekstensisumber
Dari sini .
Jika Anda membuat file di repo Anda bernama .gitignore git akan menggunakan aturannya ketika melihat file yang akan dikomit. Perhatikan bahwa git tidak akan mengabaikan file yang sudah dilacak sebelum aturan ditambahkan ke file ini untuk mengabaikannya. Dalam kasus seperti itu file tersebut harus tidak dilacak, biasanya dengan:
Apakah ini kasus Anda?
sumber
core.excludesfile
file tersebut tampaknya ditafsirkan berbeda dari.gitignore
file. Jika Anda ingin mengabaikan seluruh direktori, cukup letakkan nama direktori seperti.vscode/
bukannya.vscode/*
Jika Anda menggunakan sistem Unix, Anda dapat memecahkan masalah Anda dalam dua perintah. Di mana yang pertama menginisialisasi konfigurasi dan yang kedua mengubah file dengan file untuk diabaikan.
sumber
Contoh
Voila !!
sumber
Ingat bahwa menjalankan perintah
hanya akan mengatur file global, tetapi TIDAK akan membuatnya. Untuk Windows, periksa direktori Users Anda untuk
.gitconfig
file, dan edit ke preferensi Anda. Dalam kasus saya Seperti itu:sumber
Saya dapat mengabaikan
.tmproj
file dengan memasukkan salah satu.tmproj
atau*.tmproj
dalam/users/me/.gitignore-global
file saya .Perhatikan bahwa nama file
.gitignore-global
tidak.gitignore
. Itu tidak bekerja dengan memasukkan.tmproj
atau*.tmproj
dalam file yang disebut.gitignore
di/users/me
direktori.sumber
core.excludesfile
konfigurasi Anda ..tmproj
file tidak diabaikan mungkin karena penggunaexcludesfile
tidak.gitignore
.Anda harus membuat file kecualikan untuk ini. Lihatlah intinya yang cukup jelas.
Untuk menjawab pertanyaan Anda, Anda mungkin perlu melakukan de-indeks
.tmproj
file (jika Anda sudah menambahkannya ke indeks) dengangit rm --cached path/to/.tmproj
, ataugit add
dan filecommit
Anda.gitignore
.sumber
git rm --cached
?pada windows subsistem untuk linux saya harus menavigasi ke root subsistem
cd ~/
saat itutouch .gitignore
dan kemudian memperbarui konfigurasi global gitignore di sana.Saya harap ini membantu seseorang.
sumber
Jika Anda menggunakan VSCODE, Anda bisa mendapatkan ekstensi ini untuk menangani tugas untuk Anda. Ini mengawasi ruang kerja Anda setiap kali Anda menyimpan pekerjaan Anda dan membantu Anda untuk secara otomatis mengabaikan file dan folder yang Anda tentukan dalam pengaturan vscode Anda.
sumber