سؤال

ما هو الإعداد الجيد لملف .hgignore عند العمل مع Visual Studio 2008؟

أقوم في الغالب بالتطوير بمفردي، وأحيانًا فقط أقوم باستنساخ المستودع لشخص آخر للعمل عليه.

أفكر في مجلدات obj وملفات .suo و.sln وملفات .user وما إلى ذلك.هل يمكن تضمينها فقط أم أن هناك ملفًا لا ينبغي لي تضمينه؟

شكرًا!

ملاحظة.:في هذه اللحظة أفعل ما يلي:تجاهل كافة ملفات .pdb وكافة مجلدات obj.

# regexp syntax.
syntax: glob
*.pdb

syntax: regexp
/obj/
هل كانت مفيدة؟

المحلول

إليك ملف .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

نصائح أخرى

هذا خاص بمشروع C#، لكنني أتجاهل هذه الملفات/الأدلة:

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

ليس لدي أي مشاكل في تشغيل الكود الموجود في المستودع على الأجهزة الأخرى بعد أن تجاهلت كل هذه الملفات.أسهل طريقة لمعرفة ما تحتاج إلى الاحتفاظ به هي عمل نسخة من المجلد والبدء في حذف الأشياء التي تعتقد أنها غير ضرورية.استمر في محاولة البناء، وطالما يمكنك البناء بنجاح، استمر في الحذف.إذا قمت بحذف الكثير، انسخه من المجلد المصدر.

في النهاية سيكون لديك دليل جميل مليء بالملفات الوحيدة التي يجب الالتزام بها.

أشعر بأنني خارج المحادثة.هذا هو ملفي .hgignore.وهو يغطي تطوير C#، وC++، وVisual Studio بشكل عام، بما في ذلك عناصر COM (مكتبات الأنواع)، وبعض ملفات الإنشاء النهائية، وترقيات مشروع CodeRush، وReSharper، وVisual Studio.كما أن لديها بعض التجاهل لتطوير الويب الحديث (حوالي 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*.*

إليك محتوى .hgignore الخاص بي لمشاريع C# Visual Studio:

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

بعض الملاحظات:

  1. إذا كان لديك "إصدارات" مخصصة إلى جانب "Debug" و "الإصدار" ، فقد تحتاج إلى إضافتها.
  2. كن حذرًا عند تحريره يدويًا. hgignore.إذا قمت بإجراء خطأ في بناء الجملة ، فلن يفتح HgTortoise بعد الآن حوار الالتزام.

محتويات ملف 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

البعض الآخر أستخدمه:

output
PrecompiledWeb
_UpgradeReport_Files

#Guidance Automation Toolkit
*.gpState
#patches
*.patch

وهنا زوجين مزعجة:الحفظ التلقائي في Matlab وExcel/Office.

# use glob syntax
syntax: glob

# Matlab ignore files
*.asv

# Microsoft Office
~$*

إذا قمت بإضافتها عن طريق الخطأ ثم أغلقت الملف الحقيقي الذي كان مفتوحًا، فسيقوم Excel و/أو Matlab بحذف الحفظ التلقائي ومن ثم سيظل Mercurial عالقًا متسائلاً عن المكان الذي ذهبوا إليه.أنا متأكد من أن هناك برامج أخرى تفعل أشياء مماثلة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top