Как сделать подмодули Git проще для непрограммистов? - PullRequest
6 голосов
/ 21 ноября 2011

Наш небольшой магазин программного обеспечения недавно перешел с Subversion на Git, поскольку мы, программисты, нашли Git лучше. Миграция не была безболезненной, у нас возникли проблемы с функцией субмодулей. Моя главная проблема в том, что если репо содержит подмодули, вы не можете просто клонировать его и ожидать, что все будет работать. Вы должны сделать дополнительный шаг для инициализации и загрузки субмодулей. Последующие извлечения должны автоматически обновлять подмодули , так что все в порядке. Но когда я добавляю новый подмодуль, нажимаю коммит и люди тянут, они не получают новый подмодуль автоматически, им приходится вручную git submodule update снова.

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

Какие у меня варианты?

Ответы [ 2 ]

0 голосов
/ 08 февраля 2012

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

  • GitBox получил хорошую поддержку субмодуля.

  • SourceTree от Atlassian - это бесплатный клиент Git, который добавил поддержку субмодуля в 1.3. В обработке субмодулей в 1.3.1 был небольшой глюк , но в остальном клиент, похоже, покрывает все сценарии использования субмодулей, которые я хотел, то есть он делает подмодули практически прозрачными для непрограммистов.

  • Git Tower также, кажется, поддерживает подмодули очень хорошо, начиная с 1.4.

0 голосов
/ 22 ноября 2011

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

Я также настоятельно рекомендую какой-нибудь CI-сервер сделать сборку для вас. Он захватит все необходимые подмодули. Вы можете сделать все артефакты (вы сами решаете, что хотите, чтобы они были) доступными через загружаемый zip-файл. Я использую TeamCity, и это отличный способ показать все без необходимости использования VCS.

...