Ответ 1
Чтобы ответить на ваш вопрос, вам интересно об этом:
^Resources/Resource.designer.cs
\.sln$
\.userprefs$
\.csproj$
Файл Resource.designer.cs
не должен игнорироваться. Конечно, в некоторых случаях он будет регенерироваться, особенно если вы измените файл resx, из которого он создан, но просто для его управления версиями удаляет эту проблему со всех остальных, им не нужно ее регенерировать.
Файлы .sln
и .csproj
должны игнорироваться определенно не. Файл решения содержит, какие проекты являются частью решения, а файл csproj содержит информацию о проекте, которую вы обязательно должны зафиксировать.
.userprefs
однако является локальным файлом, он содержит пользовательские настройки для пользователя, использующего этот аппарат, вы не хотите, чтобы это было в управлении версиями.
Вот мой собственный файл игнорирования Xamarin, с комментариями ниже:
syntax: glob
_ReSharper.*/
[Bb]in/
[Oo]bj/
*.user
*.userprefs
*.suo
.DS_Store
Первая строка говорит Mercurial использовать библиотеку glob для обработки масок файлов.
Следующая строка игнорирует временные файлы ReSharper, которые добавляются в их собственный подкаталог в соответствии с именем проекта или решения. Обратите внимание, что вы можете попросить ReSharper использовать временную папку на компьютере для этого, вместо того, чтобы хранить ее в каталоге решений, но это может быть настройка для каждого пользователя, чтобы гарантировать, что эта папка случайно не зафиксирована, просто проигнорируйте это папку.
Затем я игнорирую папки bin и obj, обрабатывая как верхнюю, так и строчную первую букву, т.е. Бин игнорируется, а также bin.
Затем я игнорирую все с помощью расширения пользователя, userprefs и suo, так как все они сохраняют настройки локального пользователя.
Последняя запись игнорирует папку ресурсов Mac.
Если у вас есть NCrunch, TeamCity или FinalBuilder, есть дополнительные записи, которые вы, вероятно, захотите добавить:
_NCrunch_*/
_TeamCity.*/
*.fb7lck
*.fbl7
*.fbpInf