Какие файлы необходимы для компиляции проекта и запуска тестов?
Изучаю C#. Перефразируя вопрос из заголовка, какие файлы я должен включать в комит на GIT? Данный вопрос вызван тем, что создавая простенькую утилитку весом всего в несколько килобайт, при добавлении в проект файла с тестами и подключении фреймворка для тестирования размер проекта увеличивается до 100Мб, а количество файлов и папок с пары десятков до нескольких тысяч. Посему хотелось бы раз и навсегда разобраться с этим, чтобы репозиторий оставался чистым, а проекты не выбрасывались в корзину из-за того, что в них стало невозможно разобраться. Итак:
- Какие файлы проекта комитить? Я знаю, что это должны быть файлы, необходимые для компиляции проекта тем, кто вытянет этот комит, но вот какие конкретно? Я новичок и только учусь, и потому без подсказки или наводки на то, что почитать по теме, самостоятельно разобраться вряд ли смогу.
- Нужно ли комитить свои тесты? Лично мне бы хотелось их сохранять, но тогда опять же - какие файлы, относящиеся к тестам, комитить?
- При работе над проектом в корне папки проекта создается несколько подпапок (например bin, obj, packages, Properties, TestResults). Содержится ли в них что-то необходимое для компиляции, или всё необходимое лежит только в корне папки проекта, и на внутренние папки можно не обращать внимания и просто добавить в gitignore?
- В каком файле находятся ссылки? Например из файла с тестами на то, что тестируем. У каждого проекта внутри решения свои ссылки, или есть какой-то общий файл для всех?
- Немного не по теме: Если у меня есть, например, dll-ка, которую я хочу подключить к проекту, как можно это сделать? Мне потребуется для этого проект, в котором создавалась эта библиотека, и который нужно подключать к общему решению, или можно прикрутить только сам файл dll? Подскажите, пожалуйста.
Заранее спасибо всем откликнувшимся!