Как организовать проекты на Git сервере? - PullRequest
5 голосов
/ 06 марта 2011

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

Является ли каждый проект, который я хочу разветвлять и помечать, своим собственным репо в Git? В SVN обычнобыть своей собственной папкой в ​​центральном хранилище SVN.Кажется, Git предпочитает, чтобы проект был их собственным изолированным репозиторием.

Если я правильно предположил, что каждый проект является новым репозиторием в Git, как все сгруппировано? В SVN разные команды могутесть раздел репо SVN, с их проектами в этом разделе.Например, можно сгруппировать все внешние проекты в одну папку, а все службы - в другую.Делается ли это в Git, называя te repo префиксом или есть концепция папок или групп?

Спасибо за помощь!

Ответы [ 2 ]

2 голосов
/ 07 марта 2011

Во-первых, git сложен, но использование github.com - отличный способ понять его сильные стороны и изучить некоторые из его лучших практик.Это сайт, который я использовал во время обучения, и на нем есть хорошая документация по рабочему процессу git, трюкам и т. Д. Я рекомендую его как способ выйти за рамки тех концепций, которые svn мог привить, которые больше не применяются.

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

Что может помочь, так это заставить разные команды работать в разных ветвях и часто перебирать их в стабильную центральную ветку.В настоящее время я использую основную ветвь для готового к использованию кода, ветвь разработчика для потенциально нестабильного кода, который заслуживает совместного использования и тестирования, но пока не должен запускаться, и локальные ветки, когда я думаю о новой функции, которую можно опробовать.

2 голосов
/ 06 марта 2011

Каждый проект в идеале - это собственный репозиторий.Конечно, вы можете создать мегалитовый репозиторий всего, но это неоптимально.

Я склонен создавать репозитории в папках и использовать git submodule для добавления библиотек или зависимостей в проекты верхнего уровня.Субмодуль - это отличный способ для версии, какую итерацию внешнего репозитория вы используете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...