سؤال

ما هو أفضل (أو أفضل ما يمكن) نمط تجاهل SVN العام الذي يجب استخدامه؟

هناك عدد من IDE، والمحرر، والمترجم، والمكونات الإضافية، والمنصة، وما إلى ذلك.ملفات محددة وبعض أنواع الملفات التي "تتداخل" (أي.مرغوب فيه لبعض أنواع المشاريع وليس للآخرين).

ومع ذلك، هناك عدد كبير من أنواع الملفات التي لا تريد أبدًا تضمينها في التحكم بالمصادر تلقائيًا بغض النظر عن تفاصيل بيئة التطوير لديك.

ستكون الإجابة على هذا السؤال بمثابة نقطة انطلاق جيدة لأي مشروع - حيث تتطلب منهم فقط إضافة العناصر القليلة الخاصة بالبيئة التي يحتاجون إليها.ويمكن تكييفه مع أنظمة التحكم في الإصدار الأخرى (VCS) أيضًا.

هل كانت مفيدة؟

المحلول

سأضيف سنتي الخاصة إلى هذا السؤال:

أستخدم نمط تجاهل SVN التالي مع TortoiseSVN وSubversion CLI لمشاريع C++ وC#/VB.NET وPERL الأصلية على كل من منصات Windows وLinux.أنه يعمل بشكل جيد بالنسبة لي!

التنسيق للنسخ واللصق:

*.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 *.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  
release Release debug Debug
ignore Ignore bin Bin obj  Obj
*.csproj.user *.user
*.generated.cs

نصائح أخرى

استنادًا إلى نمط التجاهل الخاص بـ 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

نمط التجاهل الخاص بي لـ 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 logs output TestResults *.crunchsolution.* *.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 logs output TestResults 
*.crunchsolution.* *.crunchproject.*

في كل مرة أجد فيها ملفًا لا أريده بشكل عام في المستودع، أقوم بتحديث النمط.أعتقد أنه لا يوجد نمط "أفضل" - فهو موجود دائمًا يعتمد على اللغة والبيئة أنت تتطور في.

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

قد يرغب مستخدمو Windows في استخدام Desktop.ini وthumbs.db.

تستخدم لمشاريع Visual Studio الخاصة بي

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

يمكنك توسيع المزيد من أنواع الملفات من هناك.

يحتاج مستخدمو Visual Studio (VC++) بالتأكيد إلى استبعاد ملف .ncb ملفات

ربما يرغب مستخدمو Mac في استخدام .DS_Store.بالإضافة إلى ذلك، إذا كان هناك مطورون يستخدمون Emacs أو Vim، فمن المحتمل أنك تريد إضافة ~~ و ##.

بالنسبة لـEclipse أستخدم:

bin
.*

.* يحصل على كافة تكوينات المشروع.لن ترغب أبدًا في التحقق من دليل أو ملف "مخفي"، ولكن إذا ظهر، فلا يزال بإمكانك إضافته.

نظرًا لأنك قد تستخدم libs وdll لجهات خارجية كجزء من المشروع (المشاريع)، فأنا لا أرى الحكمة في حظر *.lib و*.dll من المستودع.هذه هي الأشياء التي من المفترض أن يتم تخزينها في المستودع.

يجب على مستخدمي Visual Studio 2010 إضافة ipch (مجلد يحتوي على رؤوس C++ المترجمة مسبقًا) و *.sdf (ملفات ضخمة يستخدمها التحسس لأي نوع من المشاريع).

يعتمد النمط على نظام التشغيل الذي تستخدمه.

في نظام التشغيل Linux، ستحتاج إلى حظر **.o* و **.so* و **.a* و **.la* في البداية.قد ترغب أيضًا في حظر **~* (ملف النسخ الاحتياطي من التحرير) و#*# (النسخ الاحتياطي لـ emacs من التعطل).

على نظام التشغيل Windows، ستحتاج إلى **.obj*، **.lib*، و**.dll* على أقل تقدير.

تعتمد أي ملفات أخرى تحتاج إلى حظرها على IDE والمحرر والمترجم.

يجب عليك إضافة Resharper إلى المزيج إذا كنت تستخدم واحدًا.

شخص آخر يجب البحث عنه هو عنخ*.*

لا تنسى NCrunch ملفات مؤقتة:

*.crunchsolution.* *.crunchproject.*

والمقالب الأساسية (cygwin، linux)

*.stackdump core.*

gitignore.io يوفر أنماطًا قابلة للتكوين لـ git.أنها توفر قائمة قابلة للقراءة، والتي تحتاج إلى إعادة تنسيقها لـ SVN.

على سبيل المثال، طلب مايكروسوفت أوفيس وويندوز عائدات

# 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

gitignore.io يوفر أنماطًا قابلة للتكوين لـ git.أنها توفر قائمة قابلة للقراءة، والتي تحتاج إلى إعادة تنسيقها لـ SVN.

على سبيل المثال، طلب مايكروسوفت أوفيس وويندوز عائدات

# 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

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