Каковы Ваши за и против мерзавца, используя его? [закрытый]

41
задан skaffman 11 December 2010 в 21:30
поделиться

12 ответов

Я не имею партия из опыта с мерзавцем, но:

Профессионалы:

  • Это действительно быстро
  • Локальная скала фиксаций
  • Быстрый для запуска нового репозитория (никакая конфигурация и т.д.)
  • , GitHub прост в использовании

(мне еще действительно "не была нужна" распределенная сторона вещей вне способности иметь локальный репозиторий и нажатие к общедоступному.)

Недостатки:

  • поддержка Windows все еще отстает, я верю - и Вы не можете только использовать ее от нормальной командной строки
  • Отсутствие IDE и интеграции Проводника
  • , Она взяла меня некоторое время для нахождения хороший вводный текст вроде книги redbean.
  • то, что "добавление" измененного файла только добавляет содержание в том моменте времени (таким образом, это может собраться, как подготовлено для фиксации и все еще, имеют модификации, которые требуют другого git add) требовало времени к схватыванию
29
ответ дан Jon Skeet 27 November 2019 в 00:21
поделиться

Количество Команд

, В то время как svn и другой современный VCS как hg или другие хороши и полезный мерзавец инструментов является магазином, полным устройств. Это считает как про и довод "против" одновременно. В то время как svn имеет 30 команд (согласно 'svn справка'), мерзавец поставляет 130 страниц справочника с более или менее каждым из них описывающий единственную команду. Одна причина этого состоит в том, что мерзавец представляет более низкие функции уровня, в которых большинство пользователей будет когда-либо нуждаться как инструменты командной строки. Но даже без тех низкий уровень управляет, чтобы мерзавец поставил много очень мощных инструментов и не был найден ни в каком другом VCS, который я знаю (см. , мерзавец - делит пополам , ответвление фильтра мерзавца , вишня мерзавца или сброшенный мерзавцами для примеров). В то время как очень полезно иметь те инструменты под рукой, это делает довольно трудным для новичка понять то, что управляет, чтобы они нуждались и должны были знать и который нет.

<час>

Модель

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

  • Просто использование для предотвращения конфликтов с Вами рабочее Использование dir
  • частные ответвления, которые являются перебазирующимися восходящей ГОЛОВЕ
  • , Использование в восходящем направлении переходит
    • , которые регулярно объединяются (доставляющий рыбу)
    • объединенный, когда закончено
  • Использование дерево одного специалиста по обслуживанию проекта, древовидных специалистов по обслуживанию, sub системные специалисты по обслуживанию, специалисты по обслуживанию драйвера и участники с каждым уровнем, вытягивающим патчи от уровня ниже (ядро Linux)

, Поскольку у Вас есть свой локальный репозиторий, можно даже использовать совсем другой режим работы, чем проект, Вы продолжаете работать и просто корректируете свои массивы изменений прежде, чем продвигать/публиковать их.

<час>

Путь Изменений

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

С централизованным VCS Вы обычно просто делаете фиксацию и изменения, которые Вы внесли, переходят к репозиторию. В мерзавце изменения могут пройти довольно большое количество шагов, прежде чем они закончат в своем конечном месте назначения. Типичные шаги (не так общие шаги в круглой скобке):

  • Рабочий dir (редактируя)
  • Индекс иначе район сосредоточения войск (мерзавец добавляют)
  • Локальный репозиторий (фиксация мерзавца)
  • (Другое локальное ответвление) (перебаза мерзавцев, избирательный подход мерзавца, слияние мерзавца)
  • (sub репозиторий специалиста по обслуживанию) (нажатие мерзавца, получение по запросу мерзавца, почта)
  • восходящий репозиторий (нажатие мерзавца, получение по запросу мерзавца, почта)

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

  • , решают, какой спам/строки входит в фиксацию и которые не являются
  • , решают, какие патчи Вы хотите, в каком из Ваших локальных ответвлений
  • решают, какой из Ваших патчей публикуется
  • , переделывают, давят, фиксируют, разделяют, переупорядочивают Ваши патчи прежде, чем опубликовать их
  • , решают себя, какие люди Вы доверяете и принимаете патчи от [1 120]
  • части делегата проекта другому специалисту по обслуживанию, которому Вы доверяете.

Все это питание и решения мешают новичкам начинать с мерзавцем. После того, как освоенный они дают огромный контроль над кодом.

<час>

Доступ для записи

Один майор, про для любого распределенного VCS, - то, что участники не требуют, чтобы доступ для записи извлек выгоду из VCS. Все с доступом для чтения могут просто клонировать репозиторий, создать ответвления, когда необходимый и начинают складывать помещенные наборы патча. Работа с cvs без доступа для записи является реальной болью - с мерзавцем нет большого различного, как добираются, вкладывают Ваши патчи. Это не только техническое преимущество, но также и сохраняет сложные обсуждения, должен ли этот noobie действительно получить доступ для записи.

19
ответ дан user43563 27 November 2019 в 00:21
поделиться

Pro:

  • Быстрый - очень быстро.
  • Создание нового repo очень легко по сравнению с SVN
  • , полный repo содержится во всего одной .git папке - это не добавит.SVN папку в каждой папке Вашего кода (не грандиозное предприятие, но мне нравится он)
  • , Ветвление легче
  • GitHub!

Недостатки:

  • не Может контроль, часть репозитория (как всего одна папка или всего один файл)
  • не отслеживает пустые папки
  • Плохая поддержка Windows (не беспокоит меня очень - я использую Linux)
  • , я все еще еще не нашел хороший инструмент GUI для Мерзавца (я использую KDESVN для SVN). Не большая проблема, если Вы довольны CLI.
11
ответ дан Binny V A 27 November 2019 в 00:21
поделиться

Много людей отклонило бы это, но выбор инструмента управления исходным кодом влияет на способ, которым Вы работаете. Я раньше работал много с Subversion—, пока я не обнаружил Мерзавца для меня. Я главным образом постарался не переходить в Подрывной деятельности. Каждый раз, когда я не мог избежать его, я предпочел настраивать локальное зеркало (использующий svk). В то время как ветвление легко сделано и в Подрывной деятельности и в Мерзавце, только Мерзавец делает слияние (и перебазирование!) забава, Подрывная деятельность всегда была королевской болью, когда это прибыло в объединяющееся время.

Вторая вещь, что я действительно приблизительно как Мерзавец (кроме всех моментов, которые были уже упомянуты) являюсь “index”, район сосредоточения войск, который содержит Вашу следующую фиксацию и возможность только добавить единственные блоки измененного файла к нему.

10
ответ дан Bombe 27 November 2019 в 00:21
поделиться

Поддержка Windows ужасна, таким образом, я переместился в Подвижный , другой DVCS, это так же хорошо.

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

9
ответ дан Rad 27 November 2019 в 00:21
поделиться
6
ответ дан Ryan McGeary 27 November 2019 в 00:21
поделиться

Работа с мерзавцем очень отличается что работа с другими системами управления версиями.

Наличие локального репозитория очень важно. Это означает, что можно использовать полную мощность системы управления версиями (и это много с мерзавцем), не тревожа никого. Если существует спорный вопрос в Вашем проекте, можно просто работать над ним конфиденциально - путем создания ответвлений, укладка исправляет и полируя их. Тем путем можно возвратиться со сглаженным набором патча. Но даже в "нормальном функционировании" намного лучше, если можно вымыться патчи прежде, чем показать им общественности и на самом деле отладить намного легче, если у Вас есть нормальные патчи и не только "конец дня" поспешные выстрелы.

, Прежде чем я буду фиксировать больший набор патчей, я обычно переупорядочиваю патчи и давлю bugfixes на моем новом коде непосредственно в патч. Таким образом, патчи похожи, я никогда не делал ошибки. После того, как то мое частное ответвление является перебазирующимся сверху ГОЛОВЫ и затем продвинуто. Я обычно никогда не использую слияние, поскольку оно только создает помехи истории.

Короче говоря: Это позволяет содержать Вашу историю в чистоте.

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

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

5
ответ дан user43563 27 November 2019 в 00:21
поделиться

Слияние намного более просто в мерзавце начиная с создания ответвлений, значение по умолчанию, не дополнительная опция. Таким образом, когда необходимо объединить что-то, Вы просто фиксируете его, и затем Вы объединяете два ответвления (существующий и новый, который мерзавец автоматически создал для Вашей последней регистрации).

кроме того, при использовании мерзавца, у Вас всегда есть целый репозиторий с Вами. Можно зарегистрироваться, в то время как офлайн и объединяются позже (так как слияние намного более просто).

недостаток состоит в том что МЕРЗАВЕЦ это почти неприменим на Карте памяти в Windows. Windows отключает кэширование для них и работы МЕРЗАВЦА с миллионами крошечных файлов. Кроме того, поддержке IDE все еще недостает. Я не уверен, что последний является действительно проблемой. UI, который идет с МЕРЗАВЦЕМ, довольно хорош.

кроме того, я не на 100% рад, что необходимо "добавить" существующие файлы все время [РЕДАКТИРОВАНИЕ] и огромная сумма функций. Для новичка они являются подавляющими, и часто неясно, почему Вы хотели бы использовать определенную опцию/команду. Я имею в виду, CVS идет, скажем, с 20 командами. МЕРЗАВЕЦ идет 73, и у каждого есть много опций (и это не считает команды инфраструктуры...).

4
ответ дан Aaron Digulla 27 November 2019 в 00:21
поделиться

Другие соображения:

Профессионалы:

  • Гибкий: не осуществляет один, истинный рабочий процесс
  • Настолько быстро, что управление версиями становится незначительными ответвлениями Легкого веса задачи
  • , легкое слияние и район сосредоточения войск позволяют персонализированные рабочие процессы
  • более мощный
  • Очень компактные Недостатки repos

:

  • Никакие встроенные средства управления доступом
  • инструменты Weak для двоичных файлов. Не уплотняет изменения в двоичных файлах в repo, и хранящий двоичные файлы предотвращает автообработку окончаний строки в Windows.
  • май быть более твердым учиться, потому что это более гибко и более мощно. Не всегда следует за семантикой CVS/SVN и не организован вокруг файлов.
3
ответ дан Paul 27 November 2019 в 00:21
поделиться

Последняя версия Мерзавца может работать непосредственно в Окне' командная строка, которая является, как я использую его. Процесс довольно тривиален для меня теперь.

мне также установили Мерзавца на внешнем жестком диске и на моем jumpdrive. Каждый раз, когда в новом компьютере, я выполняю сценарий, который временно устанавливает путь для включения инструментов Мерзавца. Тогда можно продолжить разрабатывать!

2
ответ дан Clinton Judy 27 November 2019 в 00:21
поделиться

Стрельба по тарелочкам имеет большинство из них, но:

Pro:

  • Ветвление! Настолько более хорошо работать над блоками функциональности в отдельных ответвлениях и все еще быть в состоянии к управлению версиями их, чем наличие нескольких вещей, продолжающихся в одном ответвлении. И как только Вы решили, что Вам нравится переходить, необходимо любить, как легкий мерзавец делает его по сравнению с SVN
1
ответ дан Gareth 27 November 2019 в 00:21
поделиться

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

я также спросил бы, что является преимуществами использования распределенного управления версиями по нормальному VCS как подрывная деятельность.

1
ответ дан Fernando Briano 27 November 2019 в 00:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: