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.


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

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

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. *

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.


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.


4

Digunakan untuk proyek Visual Studio saya

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

Anda dapat memperluas lebih banyak jenis file dari sana.


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


1

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


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.


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.


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).


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.


0

Harus menambahkan Resharper ke dalam campuran jika Anda menggunakannya.

satu lagi yang harus diwaspadai adalah Ankh *. *


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

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

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.