Biasanya ya, .gitignoreini berguna untuk semua orang yang ingin bekerja dengan repositori. Kadang-kadang Anda ingin mengabaikan hal-hal yang lebih pribadi (mungkin Anda sering membuat LOGatau sesuatu. Dalam hal ini Anda mungkin tidak ingin memaksakan hal itu pada orang lain.
+1 "Hal-hal pribadi" dapat disebutkan dalam $GIT_DIR/info/excludeatau ~/.gitconfigfile yang sesuai.
WReach
5
Jika Anda sudah memiliki file yang dicentang, dan Anda ingin mengabaikannya, Git tidak akan mengabaikan file jika Anda menambahkan aturan nanti. Dalam hal ini, Anda harus membuka file terlebih dahulu, dengan menjalankan perintah berikut di terminal Anda:git rm --cached FILENAME
eli-bd
133
Anda biasanya melakukan commit .gitignore. Bahkan, saya pribadi memastikan bahwa indeks saya selalu bersih ketika saya tidak mengerjakan sesuatu. ( git statusseharusnya tidak menunjukkan apa-apa.)
Ada kasus di mana Anda ingin mengabaikan hal-hal yang sebenarnya tidak spesifik untuk proyek. Misalnya, editor teks Anda dapat membuat *~file cadangan otomatis , atau contoh lain adalah .DS_Storefile yang dibuat oleh OS X.
Saya akan mengatakan, jika orang lain mengeluh tentang aturan-aturan yang mengacaukan Anda .gitignore, tinggalkan saja dan alih-alih masukkan ke dalam file tidak termasuk global.
Secara default file ini berada di $XDG_CONFIG_HOME/git/ignore(default ke ~/.config/git/ignore), tetapi lokasi ini dapat diubah dengan mengatur core.excludesfileopsi. Sebagai contoh:
Anda selalu dapat menambahkan # some commentbaris ke .gitignorefile untuk menjelaskan mengapa Anda mengabaikan sesuatu. Mengomentari setiap baris adalah sedikit berlebihan, tapi aku punya telah bagian berlabel # IDE (Eclipse), # OS (Mac OS X)dan # Generated (Perl). Dengan begitu jika seseorang ingin menggunakan OS atau IDE yang berbeda, mereka dapat menambahkan bagian dan kita semua dapat berbagi.
Stuart R. Jefferys
9
jempol untuk "Saya pribadi berusaha memastikan indeks saya selalu bersih ketika saya tidak mengerjakan sesuatu. (status git seharusnya tidak menunjukkan apa-apa.)"
SGhosh
4
Nb. dengan Git modern, nilai defaultnya core.excludesfileadalah ~/.config/git/ignore, sesuai dengan Spesifikasi Direktori Pangkalan XDG
Jakub Narębski
1
+1 untuk global .gitignore- Sangat bermanfaat ketika orang yang bekerja dengan Anda tidak setuju tentang konten .gitignorefile yang didorong atau apakah harus didorong, dan kami semua menggunakan banyak lingkungan pengembang berbeda yang menghasilkan berbagai jenis kebisingan.
Saya menaruh commit .gitignore, yang merupakan milik orang lain yang dapat membangun proyek saya bahwa file-file berikut ini diturunkan dan harus diabaikan.
Saya biasanya melakukan hybrid. Saya suka membuat makefile menghasilkan file .gitignore karena makefile akan mengetahui semua file yang terkait dengan proyek yang diterima atau tidak. Kemudian miliki proyek tingkat atas .gitignore yang Anda periksa, yang akan mengabaikan file .gitignore yang dibuat oleh makefile untuk berbagai sub direktori.
Jadi dalam proyek saya, saya mungkin memiliki sub direktori bin dengan semua executable yang dibangun. Kemudian, saya akan membuat makefile saya menghasilkan .gitignore untuk direktori bin itu. Dan di direktori teratas .gitignore yang mencantumkan bin / .gitignore. Yang teratas adalah yang saya laporkan.
Mengkomit .gitignore bisa sangat berguna tetapi Anda ingin memastikan Anda tidak memodifikasinya terlalu banyak setelahnya terutama jika Anda berpindah antar cabang secara teratur. Jika Anda melakukannya, Anda mungkin mendapatkan kasus di mana file diabaikan di cabang dan tidak di cabang lain, memaksa Anda untuk menghapus atau mengganti nama file secara manual di direktori kerja Anda karena checkout gagal karena akan menimpa file yang tidak dilacak.
Karena itu ya, lakukan commit .gitignore Anda, tetapi tidak sebelum Anda cukup yakin itu tidak akan banyak berubah setelahnya.
Itu tidak menjawab pertanyaan: haruskah .gitignoreitu " .gitignored"?
Charles Wood
6
Memperhatikan, bahwa itu bukan pertanyaan, dan ini tidak jawaban apa yang diminta: "adalah [itu] praktik yang baik untuk melakukan Gitignore menjadi repo Git?".
papercowboy
5
@cayuu saya percaya jawabannya mengatakan "ini adalah praktik yang baik untuk .gitignore" xyz, saya tidak melihat bagaimana ia menjawab pertanyaan. pertanyaannya adalah apakah .gitignore harus dikontrol versi atau tidak.
Jawaban:
Biasanya ya,
.gitignore
ini berguna untuk semua orang yang ingin bekerja dengan repositori. Kadang-kadang Anda ingin mengabaikan hal-hal yang lebih pribadi (mungkin Anda sering membuatLOG
atau sesuatu. Dalam hal ini Anda mungkin tidak ingin memaksakan hal itu pada orang lain.sumber
$GIT_DIR/info/exclude
atau~/.gitconfig
file yang sesuai.git rm --cached FILENAME
Anda biasanya melakukan commit
.gitignore
. Bahkan, saya pribadi memastikan bahwa indeks saya selalu bersih ketika saya tidak mengerjakan sesuatu. (git status
seharusnya tidak menunjukkan apa-apa.)Ada kasus di mana Anda ingin mengabaikan hal-hal yang sebenarnya tidak spesifik untuk proyek. Misalnya, editor teks Anda dapat membuat
*~
file cadangan otomatis , atau contoh lain adalah.DS_Store
file yang dibuat oleh OS X.Saya akan mengatakan, jika orang lain mengeluh tentang aturan-aturan yang mengacaukan Anda
.gitignore
, tinggalkan saja dan alih-alih masukkan ke dalam file tidak termasuk global.Secara default file ini berada di
$XDG_CONFIG_HOME/git/ignore
(default ke~/.config/git/ignore
), tetapi lokasi ini dapat diubah dengan mengaturcore.excludesfile
opsi. Sebagai contoh:Cukup buat dan edit file pengecualian global ke isi hati Anda; itu akan berlaku untuk setiap repositori git yang Anda kerjakan di mesin itu.
sumber
# some comment
baris ke.gitignore
file untuk menjelaskan mengapa Anda mengabaikan sesuatu. Mengomentari setiap baris adalah sedikit berlebihan, tapi aku punya telah bagian berlabel# IDE (Eclipse)
,# OS (Mac OS X)
dan# Generated (Perl)
. Dengan begitu jika seseorang ingin menggunakan OS atau IDE yang berbeda, mereka dapat menambahkan bagian dan kita semua dapat berbagi.core.excludesfile
adalah~/.config/git/ignore
, sesuai dengan Spesifikasi Direktori Pangkalan XDG.gitignore
- Sangat bermanfaat ketika orang yang bekerja dengan Anda tidak setuju tentang konten.gitignore
file yang didorong atau apakah harus didorong, dan kami semua menggunakan banyak lingkungan pengembang berbeda yang menghasilkan berbagai jenis kebisingan.Saya menaruh commit .gitignore, yang merupakan milik orang lain yang dapat membangun proyek saya bahwa file-file berikut ini diturunkan dan harus diabaikan.
Saya biasanya melakukan hybrid. Saya suka membuat makefile menghasilkan file .gitignore karena makefile akan mengetahui semua file yang terkait dengan proyek yang diterima atau tidak. Kemudian miliki proyek tingkat atas .gitignore yang Anda periksa, yang akan mengabaikan file .gitignore yang dibuat oleh makefile untuk berbagai sub direktori.
Jadi dalam proyek saya, saya mungkin memiliki sub direktori bin dengan semua executable yang dibangun. Kemudian, saya akan membuat makefile saya menghasilkan .gitignore untuk direktori bin itu. Dan di direktori teratas .gitignore yang mencantumkan bin / .gitignore. Yang teratas adalah yang saya laporkan.
sumber
Mengkomit .gitignore bisa sangat berguna tetapi Anda ingin memastikan Anda tidak memodifikasinya terlalu banyak setelahnya terutama jika Anda berpindah antar cabang secara teratur. Jika Anda melakukannya, Anda mungkin mendapatkan kasus di mana file diabaikan di cabang dan tidak di cabang lain, memaksa Anda untuk menghapus atau mengganti nama file secara manual di direktori kerja Anda karena checkout gagal karena akan menimpa file yang tidak dilacak.
Karena itu ya, lakukan commit .gitignore Anda, tetapi tidak sebelum Anda cukup yakin itu tidak akan banyak berubah setelahnya.
sumber
Ini adalah praktik yang baik untuk
.gitignore
setidaknya membangun produk Anda (program, * .o, dll.).sumber
.gitignore
itu ".gitignore
d"?