Я работаю над переносом из SVN в Git. Я уже использовал git-svn
, чтобы получить историю в один репозиторий git, и я уже знаю, как использовать git-subtree
для разделения этого репозитория на более мелкие. Этот вопрос заключается не в том, как выполнить миграцию, а в том, когда нужно разделить и когда не разделить.
Я хочу разбить большой репозиторий, потому что некоторые из каталогов - это автономные библиотеки, которые также используются совместно с другими проектами. Раньше svn checkout
выполнялось в библиотеке без необходимости проверки всего проекта. Во время всего этого я обнаружил, что, вероятно, есть десятки каталогов, которые имеют смысл находиться в собственном репозитории, потому что они 1) независимы и 2) разделены между проектами.
Как только вы выберете несколько репозиториев git, разумно использовать инструмент, облегчающий работу со многими репозиториями. Некоторые примеры: Google repo
, git submodules
, git subtree
и создание пользовательского script (похоже, что хром делает это). Я изучил эти различные методы и понял, как их использовать.
Итак, вопрос о направлении перехода от подрывной деятельности.
Должен ли я попытаться придерживаться одного большого репозитория git, только если он абсолютно необходим для его разделения на меньшие части или я должен разделить его на десятки или потенциально сотни небольших репозиториев?. Это было бы проще работать с? Есть еще одно решение, которое я пропустил? Если вы собираетесь использовать множество репозиториев, какой инструмент я должен использовать? Какие факторы заставят кого-то одобрить один метод над другим?
Примечание. Источник необходимо проверить в Windows, MacOS и Linux.