รูปแบบ SVN ละเว้นทั่วไปที่ดีที่สุด


175

อะไรคือ SVN ทั่วไปที่ดีที่สุด (หรือดีที่สุด) ละเว้นรูปแบบที่จะใช้?

มีหลาย IDE, บรรณาธิการ, คอมไพเลอร์, ปลั๊กอิน, แพลตฟอร์ม, ฯลฯ ไฟล์เฉพาะและไฟล์บางประเภทที่ "ทับซ้อน" (เช่นที่ต้องการสำหรับโครงการบางประเภทและไม่ใช่สำหรับคนอื่น)

อย่างไรก็ตามมีชนิดของไฟล์จำนวนมากที่คุณไม่เคยต้องการรวมอยู่ในการควบคุมแหล่งข้อมูลโดยอัตโนมัติโดยไม่คำนึงถึงสภาพแวดล้อมการพัฒนาเฉพาะของคุณ

คำตอบสำหรับคำถามนี้จะทำหน้าที่เป็นจุดเริ่มต้นที่ดีสำหรับโครงการใด ๆ - เพียงต้องการให้พวกเขาเพิ่มรายการเฉพาะสภาพแวดล้อมที่พวกเขาต้องการ สามารถปรับใช้กับระบบควบคุมเวอร์ชันอื่น ๆ (VCS) ได้เช่นกัน


สวัสดี Zach ฉันได้อ่านบทความนี้ของคุณแล้ว: zachburlingame.com/2011/03/ …และฉันมีคำถามสองสามข้อ .. มีวิธีใดบ้างที่จะไปถึงคุณด้วยสิ่งนี้? ขอบคุณสำหรับเวลาของคุณ ... PS: ไม่สามารถหาวิธีอื่น ๆ ที่จะเข้าถึงคุณยกเว้นผ่านความคิดเห็นนี้ที่นี่ขออภัยในความน่ารำคาญ
Brams

คำตอบ:


193

ฉันจะเพิ่มสองเซ็นต์ของตัวเองในคำถามนี้:

ฉันใช้รูปแบบ SVN ละเว้นต่อไปนี้กับ TortoiseSVN และ Subversion CLI สำหรับโครงการ C ++, C # / VB.NET และ PERL ดั้งเดิมบนทั้งแพลตฟอร์ม Windows และ Linux มันใช้งานได้ดีสำหรับฉัน!

จัดรูปแบบสำหรับการคัดลอกและวาง:

* .o * .lo * .la # * #. *. rej * .rej. * ~ * ~. # * .DS_Store thumbs.db Thumbs.db * .bak * .bak * .class * .exe * .dll * .mine * .obj * .ncb * .lib * .log * .idb * .pdb * .ilk * .msi * .res * .pch * .suo * .exp *. * ~ *. * CVV CVS .CVS .cvs ปล่อยการดีบักการดีบักละเว้นละเว้น Bin bin obj Obj * .csproj.user * .user * .generated.cs

จัดรูปแบบเพื่อให้อ่านง่าย:

* .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  
Debug Release Debug Debug
ละเว้น Ignore bin Bin obj Obj
* .csproj.user * .user
* .generated.cs

5
แล้ว * .tmp * .temp ล่ะ?
Bob King

3
นอกจากนี้ถ้าคุณทำ WPF * .g.vb * .g.cs * .baml * .GenerateResource.Cache * .cache
Bob King

6
* .dll จำเป็นต้องใช้เนื่องจากอาจเป็นกรณีเมื่อชุดประกอบการอ้างอิงจำเป็นต้องถูกคอมมิตด้วยในที่เก็บ?
Jaroslav Urban

6
@Xabatcha - คุณสามารถรวมไฟล์ของส่วนขยายใด ๆ (หรือโฟลเดอร์) ไว้ได้อย่างชัดเจนไม่ว่าไฟล์นั้นจะอยู่ในรูปแบบละเว้นทั่วโลกหรือไม่ก็ตาม โดยทั่วไปคุณไม่ต้องการ * .dll ที่ถูกติดตามโดย SVN แต่คุณสามารถเพิ่มสิ่งที่จำเป็นได้อย่างชัดเจน (ซึ่งฉันมักจะทำในกรณีของการประกอบของบุคคลที่สาม)
Zach Burlingame

2
หากคุณกำลังใช้ ReSharper ให้เพิ่มเข้าไปด้วย
autonomatt

44

จากรูปแบบการเพิกเฉยของ Burly ฉันได้เพิ่ม ReSharper ไปยังรายการเพิกเฉย

จัดรูปแบบสำหรับการคัดลอกและวาง:

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

จัดรูปแบบเพื่อให้อ่านง่าย:

*.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
ฉันใช้สิ่งนี้ด้วย: _ReSharper. *
Dve

1
โปรดทราบว่าความคิดเห็นของ Dve ถูกรวมไว้ในรูปแบบด้านบน คุณไม่จำเป็นต้องเพิ่มอีก
Hydrargyrum

34

รูปแบบการเพิกเฉยของฉันสำหรับ Visual Studio:

* / bin * / obj * / Release * / 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 บันทึกการทดสอบเอาท์พุท . * * .crunchproject. *

จัดรูปแบบเพื่อให้อ่านง่าย

* / bin * / obj * / Release * / 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 บันทึกเอาต์พุต TestResults 
* .crunchsolution. * *. crunchproject. *

16

ทุกครั้งที่ฉันเจอไฟล์ที่ฉันไม่ต้องการในที่เก็บฉันมักจะอัพเดตรูปแบบ ฉันเชื่อว่าไม่มีรูปแบบ "ดีที่สุด" - ขึ้นอยู่กับภาษาและสภาพแวดล้อมที่คุณพัฒนา

ยิ่งกว่านั้นคุณไม่น่าจะนึกถึงไฟล์ประเภท "จุดอ่อน" ที่เป็นไปได้ทั้งหมด - คุณจะพบไฟล์ประเภทที่คุณลืมรวมไว้เสมอ นั่นเป็นเหตุผลที่การปรับปรุงรูปแบบตามที่คุณไปทำงานได้ดีที่สุด


2
ฉันเห็นด้วยไม่มีรูปแบบ "ดีที่สุด" ในแง่ที่แน่นอนซึ่งฉันทำไมฉันจึงเพิ่ม (หรือดีที่สุด) คุณถูกต้องคุณจะไม่ระบุทั้งหมดและขึ้นอยู่กับ lang & env ซึ่งฉันระบุไว้ด้วย อย่างไรก็ตามมีจำนวนมากที่คุณสามารถเคาะออกค้างคาวได้ทันที
Zach Burlingame

1
นอกจากนี้ในขณะที่เพิ่มพวกเขาเมื่อคุณไปทำงานได้ดีสำหรับสภาพแวดล้อมของนักพัฒนาเดียวเมื่อคุณมีนักพัฒนาหลายคนในโครงการการมีรูปแบบการละเว้นโครงการทั่วไปเป็นที่พึงปรารถนา คุณต้องการอัปเดตให้นานที่สุดเท่าที่จะเป็นไปได้ดังนั้นคุณต้องการเอาชนะให้มากที่สุดเท่าที่จะทำได้
ซัคเกมเบอร์ลินเกม

แน่นอนว่ารูปแบบปกติของ * .bin * .bak * .pdb *. suo ฯลฯ จะต้องตั้งค่าไว้ด้านหน้าฉันยอมรับ แต่เมื่อคุณตั้งค่าคุณสมบัติการเพิกเฉยในโฟลเดอร์ที่เก็บพวกมันจะถูกแชร์อย่างมีประสิทธิภาพแม้ว่าฉันจะรู้ว่านี่ไม่ใช่สิ่งที่คุณต้องการ
petr k.


4

ใช้สำหรับโครงการ Visual Studio ของฉัน

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

คุณสามารถขยายประเภทไฟล์เพิ่มเติมได้จากที่นั่น


ฉันเห็นรายการที่คล้ายกันในวันนี้ - อะไรคือความแตกต่างระหว่าง * / bin และ just bin? สมมติว่าคุณต้องการละเว้นโฟลเดอร์ทั้งหมด
harpo

อ่านมาตรา 5.13 ไม่สนใจไฟล์และไดเรกทอรีของไฟล์ช่วยเหลือ TortoiseSVN
icelava

5
tortoisesvn.net/docs/release/TortoiseSVN_en/ ...... ที่ นั่นมีข้อความระบุว่าคุณไม่ควรรวม / หรือ \ และนั่นรวมถึงพวกเขาเป็นมรดกตกทอดของรุ่นก่อนหน้า
Simon D

@Simon มันไม่ได้บอกว่า (ในส่วน "ไม่มีเส้นทางในรายการละเว้นส่วนกลาง") ว่าเส้นทางนั้นใช้ได้svn:ignoreแต่ไม่อยู่ในรายการเพิกเฉยต่อโลก
Matthew Flaschen



1

สำหรับ Eclipse ฉันใช้:

bin
.*

. * รับการกำหนดค่าโครงการทั้งหมด คุณแทบไม่ต้องการตรวจสอบในไดเรกทอรีหรือไฟล์ที่ซ่อนอยู่ แต่ถ้ามันเกิดขึ้นคุณก็ยังสามารถเพิ่มมันได้


obj ก็จำเป็นเช่นกันเช่นเดียวกับไฟล์ * .user
jrojo

1

เนื่องจากคุณอาจใช้ libs บุคคลที่สามและ dll เป็นส่วนหนึ่งของโครงการดังนั้นฉันไม่เห็นภูมิปัญญาในการบล็อก * .lib และ * .dll จากที่เก็บ สิ่งเหล่านี้คือสิ่งที่ตั้งใจจะเก็บไว้ในที่เก็บ


5
เมื่อใช้ libs บุคคลที่สาม, exes, ฯลฯ เพียงแค่เพิ่มพวกเขาอย่างชัดเจน หากคุณต้องการทำทรีของบุคคลที่สามทั้งหมดเพียงปิดการใช้งานรูปแบบการเพิกเฉยชั่วคราว คุณไม่ต้องการให้มีการเลือกประเภทเหล่านี้โดยปริยายในระหว่างการพัฒนาแบบวันต่อวันดังนั้นการรวมรูปแบบเหล่านี้เข้าด้วยกัน
Zach Burlingame

1

ผู้ใช้ Visual Studio 2010 ควรเพิ่มipch(โฟลเดอร์ที่มีส่วนหัวของคอมไพล์ C ++) และ*.sdf(ไฟล์ขนาดใหญ่ที่ใช้โดย Intellisense สำหรับโครงการทุกประเภท)


0

รูปแบบขึ้นอยู่กับระบบปฏิบัติการที่คุณใช้

บน Linux คุณจะต้องบล็อก **. o *, **. ดังนั้น *, **. a * และ **. la * เพื่อเริ่มต้นด้วย คุณอาจต้องการบล็อก ** ~ * (ไฟล์สำรองจากการแก้ไข) และ # * # (สำรอง emacs จากความผิดพลาด)

สำหรับ Windows คุณต้องมี **. obj *, **. lib * และ **. dll * อย่างน้อยที่สุด

ไฟล์อื่น ๆ ที่คุณต้องการบล็อกขึ้นอยู่กับ IDE, ผู้แก้ไขและคอมไพเลอร์ของคุณ


0

ต้องเพิ่ม Resharper เข้าไปในมิกซ์ถ้าคุณใช้

อีกอันที่ต้องระวังคือ Ankh *. *


ใช่ฉันออกจากการตั้งค่าเครื่องมือเฉพาะส่วนใหญ่ยกเว้นสำหรับ Visual Studio หวังว่าคนอื่นจะยังคงเพิ่มคำตอบด้วยรายการรูปแบบไฟล์ที่ชัดเจนสำหรับเครื่องมือต่างๆของพวกเขา!
Zach Burlingame



0

gitignore.ioให้รูปแบบที่กำหนดค่าได้สำหรับ git มีรายการที่สามารถอ่านได้ซึ่งคุณต้องฟอร์แมตใหม่สำหรับ SVN

ตัวอย่างเช่นการร้องขอ MicrosoftOffice และ Windowsจะส่งคืน

# 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ให้รูปแบบที่กำหนดค่าได้สำหรับ git มีรายการที่สามารถอ่านได้ซึ่งคุณต้องฟอร์แมตใหม่สำหรับ SVN

ตัวอย่างเช่นการร้องขอ MicrosoftOffice และ Windowsจะส่งคืน

# 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

ดูเหมือนว่ามันสามารถใช้โดยตรงเป็น svn:global-ignore

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.