Mercurial .hgignore สำหรับโครงการ Visual Studio 2008


164

การตั้งค่าที่ดีสำหรับแฟ้ม. hgignore เมื่อทำงานกับ Visual Studio 2008 คืออะไร

ฉันส่วนใหญ่พัฒนาด้วยตัวเองบางครั้งฉันโคลนที่เก็บสำหรับคนอื่นที่จะทำงานกับมัน

ฉันกำลังคิดเกี่ยวกับโฟลเดอร์ obj,. suo, .sln, .user files ฯลฯ พวกเขาสามารถรวมหรือมีไฟล์ที่ฉันไม่ควรรวมหรือไม่

ขอบคุณ!

ps: ในขณะนี้ฉันทำสิ่งต่อไปนี้: ละเว้นไฟล์. pdb ทั้งหมดและโฟลเดอร์ obj ทั้งหมด

# regexp syntax.
syntax: glob
*.pdb

syntax: regexp
/obj/

6
หมายเหตุด้านข้าง: ฉันคิดว่าไฟล์. sln ไม่ควรถูกแยกออกจากการควบคุมซอร์ส
Slavo

2
Slavo คุณถูกต้อง ไฟล์โซลูชัน (.sln) มีโครงสร้างโครงการของคุณดังนั้นคุณจะต้องรวมไฟล์เหล่านั้นไว้ในที่เก็บของคุณ
แม้แต่เมี่ยน

คำตอบ:


208

นี่คือไฟล์. hgignore มาตรฐานของฉันสำหรับใช้กับ VS2008 ที่ถูกดัดแปลงมาจากไฟล์ละเว้น Git:

# Ignore file for Visual Studio 2008

# use glob syntax
syntax: glob

# Ignore Visual Studio 2008 files
*.obj
*.exe
*.pdb
*.user
*.aps
*.pch
*.vspscc
*_i.c
*_p.c
*.ncb
*.suo
*.tlb
*.tlh
*.bak
*.cache
*.ilk
*.log
*.lib
*.sbr
*.scc
[Bb]in
[Dd]ebug*/
obj/
[Rr]elease*/
_ReSharper*/
[Tt]est[Rr]esult*
[Bb]uild[Ll]og.*
*.[Pp]ublish.xml

4
ไม่ แต่พวกเขามีแนวคิดเดียวกันกับไฟล์ละเว้น
แม้ Mien

2
บรรทัด [Db] ebug * / - ฉันสมมติว่าควรเป็นตัวพิมพ์เล็ก d และไม่ใช่ตัวพิมพ์เล็ก b ใช้รายการที่ไม่สนใจนี้เป็นเทมเพลตและใช้เวลาสักครู่เพื่อหาสาเหตุว่าทำไมโฟลเดอร์ "debug" ก็ไม่ได้ ' ไม่ต้องสนใจ :) ขอบคุณสำหรับไฟล์ละเว้นที่ยอดเยี่ยม
Nate Pinchot

4
ฉันกำลังมองหาโค้ดที่ไม่สนใจที่ Rob Connery ใช้ในMercurial สำหรับวิดีโอCodeplex Tekpub ของเขาและมันตรงกับรหัสนี้ เยี่ยมมาก!
Ben McCormack

1
สำหรับฉันนี่หมายถึงไฟล์ที่ชื่อว่า Debug.Something.dll.config ถูกเพิกเฉยดังนั้นฉันคิดว่าการติดตาม / บน [Dd] ebug * / ไม่มีผลตามที่ต้องการ บางทีสำหรับ windows มันควรจะเป็น [Dd] ebug * \?
Rory

2
สำหรับฉันนี่หมายถึงไฟล์ที่ชื่อว่า Debug.Something.dll.config ถูกเพิกเฉยดังนั้นฉันคิดว่าการติดตาม / บน [Dd] ebug * / ไม่มีผลตามที่ต้องการ ฉันคิดว่าปัญหาอยู่ที่ไวยากรณ์แบบกลมไม่ตรงกับไดเรกทอรีอย่างถูกต้อง ถ้าคุณจะออกตรวจแก้จุดบกพร่องและปล่อยสายและแทนที่ด้วยสามบรรทัดใหม่ที่ด้านล่างของไฟล์: syntax: regexpและ[Rr]elease.*/และ[Dd]ebug.*/แล้วมันดูเหมือนว่าจะทำงานได้อย่างถูกต้อง
Rory

37

นี่เป็นโครงการเฉพาะสำหรับ C # แต่ฉันไม่สนใจไฟล์ / ไดเรกทอรีเหล่านี้:

  • *.csproj.user
  • /obj/*
  • /bin/*
  • *.ncb
  • *.suo

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

ในที่สุดคุณจะมีไดเรกทอรีที่ดีเต็มไปด้วยไฟล์เดียวที่จะต้องมุ่งมั่น


5
ฉันยังเพิกเฉยต่อไฟล์ * .config เนื่องจากทีมนักพัฒนาของฉันทำงานภายใต้สภาพแวดล้อมที่แตกต่างกันเล็กน้อย (อินสแตนซ์ฐานข้อมูลท้องถิ่นเซิร์ฟเวอร์อีเมลในพื้นที่ ฯลฯ ) นอกจากนี้รหัสผ่านยังอยู่ใน web.config
Ash Machine

ฉันคิดเสมอว่าคุณต้องการ. suo สำหรับมันขอบคุณสำหรับเคล็ดลับ เรามีความขัดแย้งอยู่ตลอดเวลา
shmeeps

24

ฉันรู้สึกว่าถูกทิ้งไว้จากการสนทนา นี่คือไฟล์. hgignore ของฉัน ครอบคลุมการพัฒนา C #, C ++ และ Visual Studio โดยทั่วไปรวมถึงสิ่ง COM (ไลบรารีชนิด), ไฟล์ตัวสร้างขั้นสุดท้าย, CodeRush, ReSharper และการอัพเกรดโครงการ Visual Studio นอกจากนี้ยังมีการเพิกเฉยต่อการพัฒนาเว็บไซต์ที่ทันสมัย ​​(c.2015)

syntax: glob

* - [Cc]opy
* - [Cc]opy/
* - [Cc]opy (?)/
* - [Cc]opy.*
* - [Cc]opy (?).*
**/.*
**/scss/*.css
*.*scc
*.FileListAbsolute.txt
*.aps
*.bak
*.bin
*.[Cc]ache
*.clw
*.css.map
*.eto
*.exe
*.fb6lck
*.fbl6
*.fbpInf
*.ilk
*.lib
*.log
*.ncb
*.nlb
*.nupkg
*.obj
*.old
*.orig
*.patch
*.pch
*.pdb
*.plg
*.[Pp]ublish.xml
*.rdl.data
*.sbr
*.scc
*.sig
*.sqlsuo
*.suo
*.svclog
*.tlb
*.tlh
*.tli
*.tmp
*.user
*.vshost.*
*.docstates
*DXCore.Solution
*_i.c
*_p.c
__MVC_BACKUP/
_[Rr]e[Ss]harper.*/
_UpgradeReport_Files/
Ankh.Load
Backup*
[Bb]in/
bower_components/
[Bb]uild/
CVS/
[Dd]ebug/
[Ee]xternal/
hgignore[.-]*
ignore[.-]*
lint.db
node_modules/
[Oo]bj/
[Pp]ackages/
PrecompiledWeb/
[Pp]ublished/
[Rr]elease/
svnignore[.-]*
[Tt]humbs.db
UpgradeLog*.*

+1, คุณกำลังใช้ Debug / ดังนั้นจะไม่เข้าไปใน "Debug.something.cs"
Sebastian

11

นี่คือเนื้อหาของ. hgignore ของฉันสำหรับโครงการ C # Visual Studio:

syntax: glob
*.user
*.ncb
*.nlb
*.suo
*.aps
*.clw
*.pdb
*\Debug\*
*\Release\*

หมายเหตุเล็กน้อย:

  1. หากคุณมี "รุ่น" ที่กำหนดเองนอกเหนือจาก "Debug" และ "Release" คุณอาจต้องเพิ่มพวกเขา
  2. ระวังเมื่อคุณแก้ไข. hgignore ด้วยตนเอง หากคุณสร้างข้อผิดพลาดทางไวยากรณ์ hgtortoise จะไม่เปิดกล่องโต้ตอบการส่งข้อมูลอีกต่อไป

8

เนื้อหาไฟล์ Mercurial .hgignore ของฉัน:

syntax: glob
#-- Files
*.bak.*
*.bak
thumbs.db

#-- Directories
App_Data/*
bin/
obj/
_ReSharper.*/
tmp/

#-- Microsoft Visual Studio specific
*.user
*.suo

#-- MonoDevelop specific
*.pidb
*.userprefs
*.usertasks

โปรดจำไว้ว่าฉันทำงาน WinForms, ASP.NET MVC และ Mobile เป็นหลักโดยใช้ Microsoft Visual Studio และ MonoDevelop เป็นครั้งคราว คุณอาจพบไฟล์อื่น ๆ ที่ควรละเว้นทั้งนี้ขึ้นอยู่กับชุดเครื่องมือและประเภทโครงการของคุณ

ฉันพยายามเก็บเวอร์ชันล่าสุดบน CodePaste.NET ที่http://codepaste.net/zxov7i



3

นี่คือสองสามคนที่น่ารำคาญ: Matlab และ Excel / Office autosaves

# use glob syntax
syntax: glob

# Matlab ignore files
*.asv

# Microsoft Office
~$*

หากฉันเพิ่มพวกเขาโดยไม่ตั้งใจแล้วปิดไฟล์จริงที่เปิดอยู่ Excel และ / หรือ Matlab จะลบการบันทึกอัตโนมัติและ Mercurial จะติดอยู่สงสัยว่าพวกเขาไปที่ไหน ฉันแน่ใจว่ามีโปรแกรมอื่นที่ทำสิ่งเดียวกัน

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