Использование Git в корпоративной среде [закрыто]

24

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

В последнее время большинство крупных компаний, таких как Google, используют Git вместо других систем контроля версий. Но у этой компании есть сильная группа с открытым исходным кодом, которая постоянно обеспечивает разработку и поддержку инструмента (у них может даже быть собственная версия Git). В то же время крупные компании на самом деле не заботятся о принятии проектов с открытым исходным кодом и придают им актуальность.

  • Является ли Git действительно надежным инструментом для корпоративной среды, особенно на платформе Windows?
  • Поддержка под вопросом для Git, так как это продукт с открытым исходным кодом.
  • Есть ли компания, которая предоставляет решения и поддержку? Каковы затраты сервера по сравнению с другими элементами управления версиями, такими как Clear-case?
Сарат
источник
2
Я не знаю, что Google принял Git, я понимаю, что они выбрали Mercurial. И вам придется убедить меня и в других крупных компаниях - есть ли у вас примеры?
Бенджол
4
Имеет отличную поддержку графического интерфейса. Просто выберите хорошую операционную систему.
2
@Benjol - эта тема может дать вам некоторые идеи. quora.com/…
сарат
1
@ Сарат, я знаю, что Твиттер стоит больших денег, но я бы не отнес его к категории крупных или корпоративных. // Я не знал, что code.google.comподдерживает git, это очень новая новость , и я не уверен, что вы могли бы назвать этот переход git над другими элементами управления версиями. [Первоначально] ( code.google.com/p/support/wiki/DVCSAnalysis) , они явно решили использовать Mercurial над
мерзавцем
@ Benjol В общем, я не могу сказать, но публичное репозиторий guava только что перешло в git .
Maaartinus

Ответы:

37

GitHub НЕ является системой управления версиями - она ​​«содержит» систему управления версиями под названием «Git». Помимо каламбура, это очень важное отличие - знайте это хорошо.

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

введите описание изображения здесь

Для Windows посмотрите Msysgit или Visual Studio Extensions для Git - git очень хорошо работает в Windows. Также пользователи Windows смотрят на эту серию тренировок от TekPub - это все Windows.

ОБНОВЛЕНИЕ [февраль 2013] начало работы с git в visual studio

Ваш вопрос не является редкостью, и вы можете найти его в Google и получить много текста, объясняющего, почему и как (и следует ли) использовать git на предприятии.

Все еще не нравится Git? Посмотрите на другой DVCS под названием Mercurial .

treecoder
источник
12
Msysgit не является истинным гражданином Windows. Он прекрасно работает, но вряд ли на 100% нативный.
Ян Рамин
+1 за некоторые важные аспекты Git. Хотя @greengit указал на возможные варианты использования Git под Windows, он далеко не так интегрирован, как, скажем, SVN.
Технит
Мы используем Eclipse, который получил хорошую поддержку git.
1
Я думаю, что гитолит (или аналог) заслуживает упоминания здесь. Многие сотрудники службы безопасности любят локальных, закрытых и контролирующих возможность локального размещения репо.
Nic
2
@YannRamin: Msysgit, безусловно, настоящий гражданин Windows и на 100% родной. Он поставляется с оболочкой Unix, которая использует немного другие соглашения, но это оболочка, а не Git. Вы можете использовать Msysgit из cmd.exe или любой другой процесс Windows, как и любое другое собственное приложение. (Cygwin отличается, но Msys не Cygwin)
Ян Худек
16

+1 Mercurial.

Mercurial - это круто, легко, имеет много удобных графических интерфейсов и чувствует себя более профессионально. Я никогда не понимал, почему у Git такая шумиха, а другие великие находятся в тени. Mercurial также поддерживается google-кодом, bitbucket.org (эквивалент github), eclipse ... Я пользуюсь им два года и всегда был доволен им.

Изменить февраль 2014 года:

В то же время, Git взял на себя такое руководство, что я бы посоветовал его по Mercurial. Три года назад Mercurial был ИМХО более отполированным, чище, лучше. Однако, шумиха была на стороне Git, и импульс, который он получил с тех пор, делает его явным победителем. Сейчас это стандарт де-факто из-за огромного сообщества.

dagnelies
источник
Git намного мощнее с точки зрения того, как вы можете манипулировать историей. Многие люди предпочтут объединить ветки локально, а затем перенести их в одну основную ветку, прежде чем переходить к основному / общедоступному репо; Таким образом, долгосрочная история остается очень чистой. Насколько я мог сказать в прошлый раз, когда я использовал HG, Mercurial не поддерживает такие типы редактирования истории. В общем, мерзавец в винде отстой; лучшие инструменты графического интерфейса (git-cola, gitk) для его использования можно найти только в Linux.
Эван Плейс
1
Я вряд ли скажу, что Git преуспел из-за шумихи: в прошлый раз, когда я проверял, формат бэкэнда Mercurial был основан на дельте и был подвержен коррупции как SVN или CVS. Между тем фундаментальная модель Git в основном только для записи с атомарными изменениями. Это просто гораздо более технически обоснованное решение.
Стюарт П. Бентли
@ StuartP.Bentley: что вы имеете в виду под коррупцией?
dagnelies
Внезапная остановка процесса в процессе копирования, перемещения, записи на диск или в сеть: в Git это будет создавать только объекты, которые сразу распознаются как мусор (так как содержимое не соответствует хешу), и даже если вы потерять что-то на полпути посередине, вы можете проверить, что вы получили, и собрать вещи оттуда.
Стюарт П. Бентли
Между тем, основанные на дельте форматы, которые хранят всю свою информацию об изменениях в одном файле, например Mercurial, могут иметь незначительные аварии (например, удаление строки, описывающей изменение), которые разбивают файл таким образом, что, как и Шалтай-Болтай , невозможно снова собрать вместе.
Стюарт П. Бентли
8

Я знаю, что https://github.com/ предоставляет некоторую поддержку в отношении частных репозиториев для предприятий.

В частности, они предоставляют услугу, называемую установка брандмауэра http://fi.github.com/. Они утверждают, что предоставляют поддержку, но у меня нет подробностей, размещенных в Интернете, и я никогда ими не пользовался.

Стоимость составляет 5000 долларов США на 20 человек в год.

c00w
источник
-1 не отвечает на его вопрос вообще
MattyD
13
Он попросил компании, которые предоставляют решения и поддержку. У Github есть специальное решение для корпоративного git-хостинга. Это не отвечает на первый вопрос. Это как бы отвечает на второй вопрос. Это действительно отвечает на третий вопрос.
c00w
Вау, когда изменилась цена ФИ? Последнее, что я проверил, это было что-то вроде 200-250 $ / мес, и теперь это двойное oO
wildpeaks
8

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

Оба, по моему опыту, пуленепробиваемые. Вам не нужна «поддержка» как таковая, хотя я знаю, что многим предприятиям нравится иметь ее.

Я уверен, что есть и другие, но стоит взглянуть на Kiln , который является размещенным ртутным решением.

Пожалуйста, обратите внимание - независимо от того, каким путем вы идете, DVCS сильно отличаются от традиционных VCS. ИМХО, они превосходят почти во всех отношениях, но это может занять некоторое время, чтобы привыкнуть.

Бен Хьюз
источник
2
это может занять некоторое время, чтобы привыкнуть. // Я помню, как сильно я ненавидел Git в течение тех долгих двух дней адаптации из SVN.
c69
6

Git чужой для разработчиков Windows. Это не настоящий первоклассный гражданин. Это работает хорошо, но это инструмент Linux в первую очередь. Например, модель сервера git в значительной степени требует SSH-логинов для безопасности.

Поддержка - это вопрос, и есть компании, которые могут предоставить, обычно сопровождаемые размещенным решением.

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

Что бы ни стоило, наша не совсем корпоративная компания, насчитывающая менее 100 человек, является огромным пользователем git в Windows с проектами Java и C.

Ян Рамин
источник
1
Несмотря на то, что было много хлопот и копаний в документации, я заставил GIT очень хорошо работать с базовой аутентификацией HTTP через SSL, поддерживаемой сервером LDAP.
DoubleMalt
1
Остерегайтесь пробелов / окончаний строк, если вы планируете что-то портировать на Linux. Это может стать уродливым, если вы не будете бдительны с самого начала.
Эван Плейс
Git теперь встроен в VS 2013 и выше. М.С. сделал его гражданином первого класса.
Клэй Смит
5

Git сильно отличается от Clearcase, поэтому проблема для вас, вероятно, будет заключаться в том, как плавно перенести ваших разработчиков (и других пользователей) на другой способ работы с исходным кодом и файлами. В зависимости от того, насколько опытны ваши пользователи и насколько глубоко интегрирована система Clearcase на вашем предприятии, может потребоваться много обучения и отучиться.

Сначала я предлагаю вам попробовать git в пилотном проекте и посмотреть, как он работает для вашей команды. Получите безопасный репозиторий на github, и все готово для пилота.

Мартин Викман
источник
5
  • Является ли Git действительно надежным инструментом для корпоративной среды, особенно для платформы Windows?

Мы скоро будем в сильном да с этим. Atlassian недавно сделал большие шаги к достижению этого с выпуском Stash 1.3 .

  • Поддержка является вопросом для Git, так как это контроль версий с открытым исходным кодом.

Существует сильная сеть поддержки знающих пользователей Git, предлагающих бесплатные консультации и различные группы LinkedIn (Git Version Control System). Быстрый поиск в Google обычно помогает с большинством требований. Для крупных корпоративных компаний сегодня на рынке доступны также варианты коммерческой поддержки git.

  • Какие-нибудь компании существуют, чтобы предоставить решения и поддержку? Как сервер стоит по сравнению с другими элементами управления версиями, такими как Clear-case?

В настоящее время существует ряд компаний, предлагающих надежную и специализированную поддержку Git. Clearvision и #goGit назвать одного из них.

Джо
источник
Ссылка на тайник сломана полтора года спустя. Я нашел это здесь: atlassian.com/software/stash
1

На своем рабочем месте я работаю над тем, чтобы помочь перенести команду в Mercurial (похожий на git инструмент) через ClearCase.

Мы выбрали hg in party, потому что она основана на неизменности, что важно для наших бизнес-целей. Кроме того, поскольку он написан на Python, он очень хорошо работает в Windows. Git имеет репутацию слабого соуса на Windows, и мой опыт это подтвердил. (Я понимаю, что инструменты стали лучше, я больше не использую Windows для проверки. :-)).

Опыт в целом был положительным, с большинством наших недостатков, связанных с субрепозиториями и странными косвенными связями, связанными с ними. Другое дело, что в hg не существует хранилища метаданных; другие решения должны быть разработаны для управления этим.

Если бы я порекомендовал корпоративное решение для работы «из коробки» для разработчиков Windows, я бы порекомендовал исследовать Kiln и GitHub Firewall .

Я знаю, что это не дает прямого ответа на ваш вопрос. Но позвольте мне выразиться так: если вы привыкли к ClearCase, я ожидаю, что git будет на порядок проще в обучении, внедрении и администрировании.

Пол Натан
источник
1

Git и Mercurial можно использовать в корпоративных средах. До некоторой степени. У некоторых организаций есть дополнительные требования, в настоящее время не выполняемые git, такие как более строгий контроль доступа, так что только определенные пользователи имеют (чтение) доступ к определенным файлам в хранилище или как интерфейсы аудита, доступ к которым можно отслеживать. Некоторые коммерческие корпоративные системы также имеют более глубокую интеграцию с управлением ИТ-системами, например корпоративные решения для резервного копирования.

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

Крупные организации иногда сталкиваются с проблемами масштабирования. Вот пример, который имел Facebook: http://comments.gmane.org/gmane.comp.version-control.git/189776 , хотя некоторые из этих проблем можно исправить (т. Е. Facebook исправил некоторые проблемы, которые были у них в Mercurial: https: / /code.facebook.com/posts/218678814984400/scaling-mercurial-at-facebook/ ) коммерческие системы контроля версий имеют другое поведение масштабирования, которое может (или в других средах не работать) работать лучше.

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

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

Johannes
источник