Я использую git для личных проектов и считаю его отличным. Он быстрый, гибкий, мощный и отлично подходит для удаленной разработки.
Но сейчас это работает, и, честно говоря, у нас проблемы.
По умолчанию git, похоже, не подходит для централизованной разработки в крупной (более 20 разработчиков) организации с разработчиками различных способностей и уровней сложности git - особенно по сравнению с другими системами контроля версий, такими как Perforce или Subversion, которые нацелены на такую среду. (Да, я знаю, Линус никогда не предназначал этого для этого.)
Но - по политическим причинам - мы застряли с git, даже если он отстой из-за того, что мы пытаемся с ним делать.
Вот что мы видим:
- Инструменты графического интерфейса незрелые
- Используя инструменты командной строки, очень легко испортить слияние и стереть чужие изменения.
- Он не предлагает разрешений на репозиторий для каждого пользователя, помимо глобальных прав только для чтения или чтения-записи.
- Если у вас есть разрешение на ЛЮБУЮ часть репозитория, вы можете сделать то же самое для КАЖДОЙ части репозитория, поэтому вы не можете сделать что-то вроде создания ветки отслеживания малых групп на центральном сервере, что другие люди не могут возиться с.
- Трудно поощрять рабочие процессы, кроме «все идет» или «доброжелательного диктатора», не говоря уже о принуждении
- Неясно, лучше ли использовать один большой репозиторий (который позволяет всем возиться со всем) или множество репозиториев для каждого компонента (что создает головную боль при попытке синхронизировать версии).
- При наличии нескольких репозиториев также непонятно, как реплицировать все источники, которые есть у кого-то еще, путем извлечения из центрального репозитория, или сделать что-то вроде получения всего по состоянию на 4:30 вчера днем.
Однако я слышал, что люди успешно используют git в крупных организациях, занимающихся разработкой.
Если вы находитесь в такой ситуации - или если у вас обычно есть инструменты, советы и рекомендации, которые помогут упростить и повысить продуктивность использования git в большой организации, где некоторые люди не являются поклонниками командной строки, - я хотел бы услышать, что у вас есть предлагать.
Кстати, я уже задавал версию этого вопроса в LinkedIn и не получил реальных ответов, но много "черт возьми, я бы тоже хотел это знать!"
ОБНОВЛЕНИЕ: позвольте мне уточнить ...
Там, где я работаю, мы не можем использовать НИЧЕГО, кроме git . Это не вариант. Мы застряли в этом. Мы не можем использовать mercurial, svn, bitkeeper, Visual Source Safe, ClearCase, PVCS, SCCS, RCS, bazaar, Darcs, monotone, Perforce, Fossil, AccuRev, CVS или даже старый добрый проектор Apple, который я использовал в 1987 году. Итак, пока вы можете обсудить другие варианты, вы не получите награду, если не обсудите git.
Кроме того, мне нужны практические советы по использованию git на предприятии . Я поставил целый список проблем, с которыми мы сталкиваемся, в начале этого вопроса. Опять же, люди могут обсуждать теорию, но если вы хотите получить вознаграждение, дайте мне решения.
a process
... (ненавижу это слово)