2009-05-20 4 views
21

У меня есть 5-10 независимых проектов, которые я хочу разместить под контролем версий с помощью Git. Что является лучшим способом для организации проектов/репозитариев:Каков наилучший способ организовать несколько проектов при использовании git

  • Используйте одно хранилище для каждого проекта
  • использования один репозиторий для всей моей работы и использовать подкаталоги для каждого проекта
  • Или нечто совсем другое

Что сработало лучше всего для вас и почему?

ответ

11

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

+0

Просто хотел добавить, что это также относится и к SVN. Лучше всего, если у вас есть один репозиторий для каждого проекта. – Petros

+0

Помню, я читал много статей о настройке сервера SVN, который, казалось, предполагал, что лучше использовать одно репо. Возможно, я просто читал неправильные источники. –

6

Для заполнения Marc's answer, переход с одним центральным хранилищем (со всеми проектами внутри) не мешает нескольким репозиториям, каждый из которых имеет свой собственный проект.

Давайте послушаем его от Linus himself:

Там нет никаких реальных проблем либо образом, и, возможно, более важно, это даже не то, что вы должны решить, на один день.

Вы можете легко сделать это так или другой, и либо

  • переключатель вокруг по мере необходимости
  • или даже смеси двух подходов, где это имеет смысл.

Например, это может быть совершенно разумно иметь общее «распределение точки» использовать один общий репозиторий, который содержит все модули, как отдельных ветвей в пределах того же хранилища.

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

3

Если репозиторий поврежден. Он влияет на все команды проекта. Репо для каждого проекта является хорошей идеей.

+2

В принципе то, что вы говорите, является корректным. Но это противоречит духу git, чтобы иметь только один большой общий репозиторий. Каждый разработчик должен иметь свою рабочую зону (на своей рабочей станции) под контролем git. Таким образом, вы имеете избыточность и можете восстановить «центральный» репозиторий из одного или нескольких экземпляров разработчика. – CyberFonic

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