Какие файлы моего проекта я должен положить в репо - PullRequest
7 голосов
/ 03 ноября 2011

Я использую Dev-C ++ IDE для программирования на Си.

Я хочу поместить свой проект в Github, но я бы хотел знать, какие типы файлов мне следует туда поместить.Я имею в виду, что папка проекта имеет .o, .layout, .dev (файл проекта dev-C ++), .exe вместе с исходными файлами .c и .h .mkv (make file)

, поэтому какие файлыЯ должен поставить.Если я не должен помещать эти файлы, как я должен управлять ими.Я имею в виду, что мой файл .git хранится там ... поэтому, когда когда-либо появляются какие-то файлы ... он продолжает показывать мне их, которые не были обновлены / отправлены ..

Ответы [ 3 ]

16 голосов
/ 03 ноября 2011

Три основных правила, которым необходимо следовать при управлении всеми источниками:

  • Если это сгенерированный актив, он не входит в систему контроля версий. В противном случае вы теряете пространство и ненужное дублирование усилий, и рискуете потерять данные.Это включает в себя такие вещи, как объектные файлы, скомпилированные двоичные файлы проекта и т. Д.

  • Если он содержит конфигурацию, ключи, пароли, переменные среды и т. Д., Характерные для вашего компьютера,это не относится к управлению исходным кодом. Вам необходимо удалить все, что относится к вам (ссылки на пути к файлам, которые не существуют на чужой машине и т. д.).

  • Если это бинарная зависимость, которую вы не контролируете (например, вы зависите от glib или NUnit), она также не должна входить в систему контроля версий. Но у вас может не быть выбора, если вы не можетеили не используйте менеджер пакетов / зависимостей.В идеале было бы лучше, если бы это никогда не существовало в вашем коде, и у вас просто где-то есть конфигурация, которая говорит: «Я зависим от NUnit v.2.3.5».

Есть исключения из каждого правила,Конечно, но это хорошая отправная точка.

Обратите внимание, что это не специфично для git;Git не заботится о том, какие файлы вы хотите поместить в систему контроля версий, и он позволит вам делать все что угодно.Вы, вероятно, получили бы тот же ответ, если бы использовали hg, Subversion или что-нибудь еще подобное.

4 голосов
/ 03 ноября 2011

Обычно мы помещаем исходный код и ресурсы в хранилище. OBJ- и BIN-файлы не должны помещаться туда, так как они только вызывают конфликты.

Простое правило: не помещайте в репозиторий файлы, которые динамически генерируются вашей IDE

или другими словами:

Когда вы выбрасываете компьютер и покупаете новый: какие файлы вам нужны для продолжения работы?

2 голосов
/ 03 ноября 2011

Обычно мы помещаем в репозиторий все, что вам нужно для создания проекта.Таким образом, файлы кода, файлы проекта, сценарии, ресурсы.

Мы НЕ помещаем двоичные файлы в репозиторий, который может быть собран путем компиляции кода.Однако мы помещаем сторонние двоичные файлы в репозиторий.

Все остальные файлы, например, файлы obj, там не принадлежат.

...