2013-05-16 3 views
2

Я собираюсь начать новый игровой проект для нескольких платформ и использовать GIT для его управления.Структура проекта GIT

Я начну с ПК-версии игры, а затем, когда будет выполнена примерно половина игры, запустите также версию для Mac, iOS и Android, основанную на версии для ПК, и работайте параллельно.

Я вижу два варианта структуры:

1) Один проект с множеством филиалов - одна ветвь на одной платформе. И, возможно, общая ветка со всеми кросс-платформенными источниками ...

2) Несколько проектов - один проект для одной платформы. Каждый проект также имеет несколько филиалов, таких как мастер, разработка, исправление и другие, если это необходимо. А также создайте отдельный проект для кросс-платформенных источников, а затем добавьте его как дополнительный модуль для других.

Первый вариант выглядит как ад. Второй выглядит многообещающим, но у него так много проектов и отделений ... На самом деле у меня не так уж много источников, и игра не слишком велика, но в любом случае мне нужно так много всего ... Это пугает.

Какова наилучшая структура для такого проекта? Может быть, есть третий вариант?

+3

Почему бы вам просто не использовать один репозиторий для всех платформ, пока не возникнет необходимость в чем-то более сложном? Таким образом, все платформы получат преимущества исправлений ошибок в общем коде. – mpontillo

ответ

2

Возможно, рассмотрим использование подмодулей git. http://git-scm.com/book/en/Git-Tools-Submodules

С подмодулем у вас в основном есть общий репозиторий git в других репозиториях git. Это упрощает обмен общим кодом и обновляет его.

Я бы рекомендовал создать одно репо, в котором есть общий код, а затем включить его в качестве подмодуля в репозитории ПК, Mac, iOS и Android. Это приведет к тому, что отдельный код ПК/Mac/iOS/Android будет отделен от общего.

+0

Спасибо, еще один вопрос - нужно ли мне хранить игровые ресурсы (изображения, звуки, ini-файлы) в GIT? Или GIT только для исходного кода? В настоящее время я работаю над некоторым проектом, и у нас есть все в GIT, и я должен сказать, что это не так удобно. Что ты думаешь? – user1232695

+0

Взгляните на [git-приложение] (http://git-annex.branchable.com/) и [git-media] (https://github.com/schacon/git-media). – mpontillo

+0

Да, я бы не включил большое количество медиафайлов (например, видео) в репо. У вас их где-то есть на CDN. Если он минимальный (например, базовый веб-сайт), чем уверенная проблема. –

Смежные вопросы