Mercurial .hgignore для проектів Visual Studio 2008


164

Яка хороша настройка для файлу .hgignore під час роботи з Visual Studio 2008?

Я здебільшого розвиваюся самостійно, лише з часом клоную сховище, щоб хтось інший працював над ним.

Я думаю про папки Obj,.

Дякую!

ps: на даний момент я роблю наступне: ігнорую всі .pdb файли та всі папки obj.

# regexp syntax.
syntax: glob
*.pdb

syntax: regexp
/obj/

6
Побічна примітка: Я думаю, що .sln файли не слід виключати з контролю джерел
Славо

2
Славо, ти прав. Файли рішення (.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
Ні, але вони мають однакове поняття файлу ігнорування.
Навіть Міен

2
Рядок [Db] ebug * / - Я припускаю, що це повинен бути малий d, а не малий регістр b, використовував цей список ігнорування як шаблон і знадобив мені хвилину, щоб з'ясувати, чому хек папка "налагодження" не була ' t ігнорується :) Дякую за чудовий файл ігнорування.
Нейт Пінчот

4
Я шукав код ігнорування, який використовував Роб Коннері у своєму відео Mercurial для Codeplex Tekpub, і він відповідав цій точності. Чудова робота!
Бен Маккормак

1
Для мене це означало, що файл під назвою Debug.Something.dll.config був проігнорований, тому я думаю, що остання / on [Dd] ebug * / не має бажаного ефекту. Можливо, для Windows це повинен бути [Dd] ebug * \?
Рорі

2
Для мене це означало, що файл під назвою Debug.Something.dll.config був проігнорований, тому я думаю, що остання / on [Dd] ebug * / не має бажаного ефекту. Я думаю, що проблема в тому, що синтаксис у стилі глобус не відповідає коректності в каталогах. Якщо ви берете рядки налагодження і випуску і замінити їх три нові лінії в нижній частині файлу: syntax: regexpі [Rr]elease.*/та [Dd]ebug.*/то , здається, правильно працювати.
Рорі

37

Це характерно для проекту C #, але я ігнорую ці файли / каталоги:

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

У мене немає проблем із запуском коду в депо на інших машинах після того, як я ігнорую всі ці файли. Найпростіший спосіб дізнатися, що вам потрібно зберегти, - це зробити копію папки та почати видаляти речі, які, на вашу думку, не потрібні. Продовжуйте намагатися будувати, і поки ви успішно можете будувати, продовжуйте видаляти. Якщо ви видалите занадто багато, скопіюйте це з папки-джерела.

Зрештою, у вас буде приємний каталог, повний єдиних файлів, які потрібно зробити.


5
Я також ігнорую файли * .config, оскільки моя команда розробників працює в дещо іншому середовищі (локальний db-екземпляр, локальний сервер електронної пошти тощо). Також паролі містяться у web.config.
Машина золи

Я завжди думав, що ти потрібен .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.something.cs"
Себастьян

11

Ось вміст мого .hgignore для проектів C # Visual Studio:

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

Кілька приміток:

  1. Якщо у вас є власні "релізи" крім "Налагодження" та "Випуск", можливо, вам доведеться їх додати.
  2. Будьте уважні, коли ви вручну редагуєте свій .hgignore. Якщо ви зробите синтаксичну помилку, то hgtortoise більше не відкриє діалогове вікно фіксації.

8

Вміст файлу My 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


4

деякі інші я використовую:

output
PrecompiledWeb
_UpgradeReport_Files

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

3

Ось кілька примхливих: автоматичні збереження Matlab та Excel / Office.

# use glob syntax
syntax: glob

# Matlab ignore files
*.asv

# Microsoft Office
~$*

Якщо я випадково додаю їх, а потім закрию справжній файл, який був відкритим, Excel та / або Matlab видалять автоматичне збереження, і тоді Mercurial буде застрявати, цікаво, куди вони пішли. Я впевнений, що є інші програми, які роблять подібні речі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.