Pola Pengabaian SVN umum terbaik?

175

Apa pola abaikan SVN umum yang terbaik (atau sebaik mungkin) untuk digunakan?

Ada sejumlah berbeda IDE, editor, compiler, plug-in, platform, dll file tertentu dan beberapa jenis file yang "tumpang tindih" (yaitu diinginkan untuk beberapa jenis proyek dan bukan untuk yang lain).

Namun demikian, sejumlah besar jenis file yang Anda tidak ingin dimasukkan dalam kontrol sumber secara otomatis terlepas dari spesifik lingkungan pengembangan Anda.

Jawaban untuk pertanyaan ini akan berfungsi sebagai titik awal yang baik untuk proyek apa pun - hanya mengharuskan mereka untuk menambahkan beberapa item spesifik lingkungan yang mereka butuhkan. Itu bisa diadaptasi untuk Sistem Kontrol Versi (VCS) lainnya juga.

Zach Burlingame
sumber
Halo Zach, saya telah membaca posting ini: zachburlingame.com/2011/03/... dan saya punya beberapa pertanyaan..Apakah ada cara untuk menghubungi Anda dengan ini? Terima kasih atas waktu Anda ... PS: Tidak dapat menemukan cara lain untuk menghubungi Anda kecuali melalui komentar ini di sini, maaf atas kekesalannya
Brams

Jawaban:

193

Saya akan menambahkan dua sen saya sendiri ke pertanyaan ini:

Saya menggunakan pola pengabaian SVN berikut dengan TortoiseSVN dan Subversion CLI untuk proyek C ++ asli, C # / VB.NET, dan PERL pada platform Windows dan Linux. Ini bekerja dengan baik untuk saya!

Diformat untuk salin dan tempel:

* .o * .lo * .la # * #. *. rej * .rej. * ~ * ~. # * .DS_Store thumbs.db Thumbs.db * .bak * .class * .exe * .dll * .mine * .obj * .ncb * .lib * .log * .idb * .pdb * .ilsi * .msi * .res * .po * .suo * .exp *. * ~ *. ~ * ~ *. * cvs CVS Rilis .CVS .cvs Rilis debug Debug abaikan Abaikan bin Bin obj Obj * .csproj.user * .user * .generated.cs

Diformat agar mudah dibaca:

* .o * .lo * .la # * #. *. rej * .rej
. * ~ * ~. # * .DS_Store thumbs.db 
Thumbs.db * .bak * .class * .exe * .dll
* .pertambangan * .obj * .ncb * .lib * .log 
* .idb * .pdb * .ilk * .msi * .res * .pch * .suo 
* .exp *. * ~ *. ~ * ~ *. * cvs CVS .CVS .cvs  
rilis Rilis debug Debug
abaikan Abaikan bin Bin obj Obj
* .csproj.user * .user
* .generated.cs
Zach Burlingame
sumber
5
Bagaimana dengan * .tmp * .temp?
Bob King
3
Juga, jika Anda melakukan WPF * .g.vb * .g.cs * .baml * .GenerateResource.Cache * .cache
Bob King
6
Apakah * .dll diperlukan karena hal ini mungkin terjadi ketika majelis referensi perlu dilakukan juga dalam repositori?
Jaroslav Urban
6
@Xabatcha - Anda selalu dapat secara eksplisit menyertakan file ekstensi apa pun (atau folder) terlepas dari apakah itu terdaftar dalam pola abaikan global atau tidak. Secara umum Anda tidak ingin * .d dilacak oleh SVN namun Anda selalu dapat secara eksplisit menambahkan yang diperlukan (yang sering saya lakukan dalam kasus majelis pihak ketiga).
Zach Burlingame
2
Jika Anda menggunakan ReSharper, tambahkan itu juga
autonomatt
44

Berdasarkan pola abaikan Burly, saya telah menambahkan ReSharper ke daftar abaikan

Diformat untuk salin dan tempel:

*.o *.lo .la ## .*.rej .rej .~ ~ .# .DS_Store thumbs.db Thumbs.db *.bak *.class *.exe *.dll *.mine *.obj *.ncb *.lib *.log *.idb *.pdb *.ilk .msi .res *.pch *.suo *.exp ~. cvs CVS .CVS .cvs release Release debug Debug ignore Ignore bin Bin obj Obj *.csproj.user *.user _ReSharper.* *.resharper.user

Diformat agar mudah dibaca:

*.o *.lo .la ## .*.rej .rej .~ ~ .# .DS_Store thumbs.db Thumbs.db *.bak
*.class *.exe *.dll *.mine *.obj *.ncb *.lib *.log *.idb *.pdb *.ilk .msi .res *.pch *.suo *.exp ~. cvs
CVS .CVS .cvs release Release debug
Debug ignore Ignore bin Bin obj Obj
*.csproj.user *.user _ReSharper.* *.resharper.user
Three Sevenths
sumber
1
Saya menggunakan ini juga hanya dengan: _ReSharper. *
Dve
1
Perhatikan bahwa komentar Dve telah dimasukkan ke dalam pola di atas. Anda tidak perlu menambahkannya lagi.
Hydrargyrum
34

Pola abaikan saya untuk Visual Studio:

* / bin * / obj * / Rilis * / Debug * .suo * .err * .log * .obj * .bin * .dll * .exe * .LOG * .user * .pdb [tT] emp [tT] empPE Ankh.Load thumbs.db * .resharper * .vspscc * .vsssccc * .scc * / _ ReSharper * * / _ ReSharper. * Bin obj * .resharperoptions * .db * .bak * _ReSharper * * .snk log output output TestResults * .crunchsolution . * * .runchproject. *

Diformat agar mudah dibaca

* / bin * / obj * / Rilis * / Debug * .suo * .err * .log * .obj * .bin * .dll * .exe 
* .LOG * .user * .pdb [tT] emp [tT] empPE Ankh.Load thumbs.db * .resharper 
* .vspscc * .vsssccc * .scc * / _ ReSharper * * / _ ReSharper. * bin obj 
*. Opsi Penambahan * .db * .bak * _ReSharper * * .snk log output TestResults 
* .crunchsolution. * * .crunchproject. *
Lankymart
sumber
16

Setiap kali saya menemukan file yang biasanya tidak saya inginkan di repositori, saya memperbarui polanya. Saya percaya tidak ada pola "terbaik" - itu selalu tergantung pada bahasa dan lingkungan tempat Anda berkembang.

Selain itu, Anda kemungkinan besar tidak akan memikirkan semua tipe file yang mungkin "diabaikan" - Anda akan selalu menemukan tipe file yang lupa Anda sertakan. Itulah mengapa memperbarui pola saat Anda bekerja merupakan yang terbaik.

petr k.
sumber
2
Saya setuju tidak ada pola "terbaik" dalam arti absolut, yang saya mengapa saya menambahkan (atau sebaik mungkin). Anda benar, Anda tidak akan menghitung semuanya dan itu tergantung pada lang & env, yang juga saya nyatakan. Namun, ada sejumlah besar yang bisa Anda hancurkan begitu saja.
Zach Burlingame
1
Juga sambil menambahkan mereka saat Anda bekerja berfungsi baik untuk lingkungan pengembang tunggal, ketika Anda memiliki beberapa pengembang pada suatu proyek, memiliki pola pengabaian proyek yang umum diinginkan. Anda ingin memperbaruinya sesering mungkin, jadi Anda ingin mematikannya sebanyak mungkin di depan
Zach Burlingame
Tentu saja, pola biasa * .bin * .bak * .pdb * .suo dll harus diatur di muka, saya setuju. Tetapi begitu Anda mengatur properti abaikan pada folder repositori, mereka secara efektif dibagikan - meskipun saya sadar ini bukan yang Anda maksud.
petr k.
11

Pengguna Windows mungkin ingin melempar ke desktop.ini dan thumbs.db.

harpo
sumber
4

Digunakan untuk proyek Visual Studio saya

*/bin */obj *.user *.suo

Anda dapat memperluas lebih banyak jenis file dari sana.

icelava
sumber
Saya melihat daftar serupa sebelumnya hari ini - apa perbedaan antara * / bin dan hanya bin? Dengan asumsi Anda ingin mengabaikan seluruh folder.
harpo
Baca bagian 5.13. Mengabaikan File Dan Direktori dari file bantuan TortoiseSVN.
icelava
5
tortoisesvn.net/docs/release/TortoiseSVN_en/… Di sana dikatakan bahwa Anda tidak boleh menyertakan a / atau \, dan itu termasuk mereka adalah warisan dari versi sebelumnya
Simon D
@Simon, bukankah ia mengatakan (di inset "Tidak Ada Jalur dalam Daftar Abaikan Global") bahwa jalur itu boleh saja svn:ignore, tetapi tidak dalam daftar abaikan global?
Matthew Flaschen
3

Pengguna Visual Studio (VC ++) pasti perlu mengecualikan file .ncb

Rob Walker
sumber
1

Pengguna Mac mungkin ingin melempar .DS_Store. Selain itu, jika ada dev yang menggunakan Emacs atau Vim, Anda mungkin ingin menambahkan ~ ~ dan # #.

Jim Deville
sumber
1

Untuk Eclipse, saya menggunakan:

bin
.*

. * mendapatkan semua konfigurasi proyek. Anda hampir tidak pernah ingin memeriksa di direktori atau file 'tersembunyi', tetapi jika muncul, Anda masih dapat menambahkannya.

Nuh
sumber
obj juga diperlukan, juga file *
.user
1

Karena Anda mungkin menggunakan libs pihak ketiga dan lain-lain sebagai bagian dari proyek, maka saya tidak melihat kebijaksanaan dalam memblokir * .lib dan * .dll dari repositori. Ini adalah hal-hal yang dimaksudkan untuk disimpan dalam repositori.

graham.reeds
sumber
5
Saat menggunakan lib pihak ketiga, dll, exes, dll. Tambahkan saja secara eksplisit. Jika Anda ingin melakukan seluruh pohon pihak ke-3, matikan saja pola abaikan untuk sementara. Anda tidak ingin jenis ini diambil secara implisit selama pengembangan sehari-hari, karenanya dimasukkan dalam pola.
Zach Burlingame
1

Pengguna Visual Studio 2010 harus menambahkan ipch(folder yang berisi header terkompilasi C ++) dan *.sdf(file besar yang digunakan oleh intellisense untuk segala jenis proyek).

Dalma
sumber
0

Polanya tergantung pada sistem operasi yang Anda gunakan.

Di Linux, Anda ingin memblokir **. O *, **. Jadi *, **. A *, dan **. La * untuk memulai. Anda mungkin juga ingin memblokir ** ~ * (file cadangan dari pengeditan) dan # * # (cadangan emacs dari kerusakan).

Pada Windows, Anda ingin **. Obj *, **. Lib *, dan **. Dll * paling tidak.

File lain yang Anda perlu blokir tergantung pada IDE, editor, dan kompiler Anda.

Branan
sumber
0

Harus menambahkan Resharper ke dalam campuran jika Anda menggunakannya.

satu lagi yang harus diwaspadai adalah Ankh *. *

Hammad Rajjoub
sumber
Ya, saya meninggalkan sebagian besar panji khusus alat kecuali untuk Visual Studio. Semoga orang lain terus menambahkan jawaban dengan daftar pola file eksplisit untuk berbagai alat mereka!
Zach Burlingame
0

Jangan lupa NCrunch file sementara:

*.crunchsolution.* *.crunchproject.*
Richard Dingwall
sumber
0

Dan dump inti (cygwin, linux)

*.stackdump core.*
Holger Bille
sumber
0

gitignore.io menyediakan pola yang dapat dikonfigurasi untuk git. Mereka menyediakan daftar yang dapat dibaca, yang perlu Anda format ulang untuk SVN.

Misalnya, meminta Microsoft Office dan Windows kembali

# Created by https://www.gitignore.io/api/microsoftoffice,windows

### MicrosoftOffice ###
*.tmp

# Word temporary
~$*.doc*

# Excel temporary
~$*.xls*

# Excel Backup File
*.xlk

# PowerPoint temporary
~$*.ppt*

# Visio autosave temporary files
*.~vsdx


### Windows ###
# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msm
*.msp

# Windows shortcuts
*.lnk
koppor
sumber
0

gitignore.io menyediakan pola yang dapat dikonfigurasi untuk git. Mereka menyediakan daftar yang dapat dibaca, yang perlu Anda format ulang untuk SVN.

Misalnya, meminta Microsoft Office dan Windows kembali

# Created by https://www.gitignore.io/api/microsoftoffice,windows

### MicrosoftOffice ###
*.tmp

# Word temporary
~$*.doc*

# Excel temporary
~$*.xls*

# Excel Backup File
*.xlk

# PowerPoint temporary
~$*.ppt*

# Visio autosave temporary files
*.~vsdx


### Windows ###
# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msm
*.msp

# Windows shortcuts
*.lnk

Tampaknya dapat langsung digunakan sebagai svn:global-ignore

koppor
sumber