Я не имею партия из опыта с мерзавцем, но:
Профессионалы:
(мне еще действительно "не была нужна" распределенная сторона вещей вне способности иметь локальный репозиторий и нажатие к общедоступному.)
Недостатки:
git add
) требовало времени к схватыванию Количество Команд
, В то время как svn и другой современный VCS как hg или другие хороши и полезный мерзавец инструментов является магазином, полным устройств. Это считает как про и довод "против" одновременно. В то время как svn имеет 30 команд (согласно 'svn справка'), мерзавец поставляет 130 страниц справочника с более или менее каждым из них описывающий единственную команду. Одна причина этого состоит в том, что мерзавец представляет более низкие функции уровня, в которых большинство пользователей будет когда-либо нуждаться как инструменты командной строки. Но даже без тех низкий уровень управляет, чтобы мерзавец поставил много очень мощных инструментов и не был найден ни в каком другом VCS, который я знаю (см. , мерзавец - делит пополам , ответвление фильтра мерзавца , вишня мерзавца или сброшенный мерзавцами для примеров). В то время как очень полезно иметь те инструменты под рукой, это делает довольно трудным для новичка понять то, что управляет, чтобы они нуждались и должны были знать и который нет.
<час>Модель
Разработки подобная тема - то, что мерзавец достаточно мощен для поддержки совсем других режимов работы. Это мешает новичкам, поскольку нет действительно документа "лучшей практики", поскольку лучшая практика не, встраивают в мерзавца. Таким образом, необходимо решить себя, объединяется ли Вы
, Поскольку у Вас есть свой локальный репозиторий, можно даже использовать совсем другой режим работы, чем проект, Вы продолжаете работать и просто корректируете свои массивы изменений прежде, чем продвигать/публиковать их.
<час>Путь Изменений
Другая вещь, которая также рассчитывает как за и против в зависимости от Вашей точки наблюдения, состоит в том, что работа с мерзавцем более сложна, чем с любым централизованным VCS и еще более сложна большая часть другого распределенного VCS.
С централизованным VCS Вы обычно просто делаете фиксацию и изменения, которые Вы внесли, переходят к репозиторию. В мерзавце изменения могут пройти довольно большое количество шагов, прежде чем они закончат в своем конечном месте назначения. Типичные шаги (не так общие шаги в круглой скобке):
, Поскольку Вы можете вид пропуска, индекс там является по крайней мере 2 включенными шагами, но обычно существует больше. Это требует более глубокого понимания того, что Вы делаете и вводите намного больше команд. С другой стороны, это дает Вам контроль над каждым из этих шагов. Вы можете
Все это питание и решения мешают новичкам начинать с мерзавцем. После того, как освоенный они дают огромный контроль над кодом.
<час>Доступ для записи
Один майор, про для любого распределенного VCS, - то, что участники не требуют, чтобы доступ для записи извлек выгоду из VCS. Все с доступом для чтения могут просто клонировать репозиторий, создать ответвления, когда необходимый и начинают складывать помещенные наборы патча. Работа с cvs без доступа для записи является реальной болью - с мерзавцем нет большого различного, как добираются, вкладывают Ваши патчи. Это не только техническое преимущество, но также и сохраняет сложные обсуждения, должен ли этот noobie действительно получить доступ для записи.
Pro:
Недостатки:
Много людей отклонило бы это, но выбор инструмента управления исходным кодом влияет на способ, которым Вы работаете. Я раньше работал много с Subversion—, пока я не обнаружил Мерзавца для меня. Я главным образом постарался не переходить в Подрывной деятельности. Каждый раз, когда я не мог избежать его, я предпочел настраивать локальное зеркало (использующий svk). В то время как ветвление легко сделано и в Подрывной деятельности и в Мерзавце, только Мерзавец делает слияние (и перебазирование!) забава, Подрывная деятельность всегда была королевской болью, когда это прибыло в объединяющееся время.
Вторая вещь, что я действительно приблизительно как Мерзавец (кроме всех моментов, которые были уже упомянуты) являюсь “index”, район сосредоточения войск, который содержит Вашу следующую фиксацию и возможность только добавить единственные блоки измененного файла к нему.
Поддержка Windows ужасна, таким образом, я переместился в Подвижный , другой DVCS, это так же хорошо.
преимущества DVCS становятся очевидными, когда у Вас, например, есть репозиторий в Вашем сервере в офисе, и Вы работаете над сайтом. Способность фиксировать локально без доступа к Вашему офису сервера (и этот откат, когда необходимый) является блестящей!
Профессионалы: , Почему Мерзавец Лучше, Чем X
Работа с мерзавцем очень отличается что работа с другими системами управления версиями.
Наличие локального репозитория очень важно. Это означает, что можно использовать полную мощность системы управления версиями (и это много с мерзавцем), не тревожа никого. Если существует спорный вопрос в Вашем проекте, можно просто работать над ним конфиденциально - путем создания ответвлений, укладка исправляет и полируя их. Тем путем можно возвратиться со сглаженным набором патча. Но даже в "нормальном функционировании" намного лучше, если можно вымыться патчи прежде, чем показать им общественности и на самом деле отладить намного легче, если у Вас есть нормальные патчи и не только "конец дня" поспешные выстрелы.
, Прежде чем я буду фиксировать больший набор патчей, я обычно переупорядочиваю патчи и давлю bugfixes на моем новом коде непосредственно в патч. Таким образом, патчи похожи, я никогда не делал ошибки. После того, как то мое частное ответвление является перебазирующимся сверху ГОЛОВЫ и затем продвинуто. Я обычно никогда не использую слияние, поскольку оно только создает помехи истории.
Короче говоря: Это позволяет содержать Вашу историю в чистоте.
Это высказывает Вам совсем другое мнение о Вашей работе. Это позволяет Вам рассматривать текущее состояние как добавление единственных патчей, которые создают историю, которая не является просто журналом, но и чем-то, что Вы помещаете там нарочно. Наборы патча являются кирпичами, Вы создаете свое приложение от - и перемещаетесь в правильное место при необходимости.
я добровольно никогда не возвращался бы ни к какой другой системе управления версиями, которую я использовал перед мерзавцем или любой системой управления версиями, которая не поддерживает переоснову и локальные ответвления и фиксации.
Слияние намного более просто в мерзавце начиная с создания ответвлений, значение по умолчанию, не дополнительная опция. Таким образом, когда необходимо объединить что-то, Вы просто фиксируете его, и затем Вы объединяете два ответвления (существующий и новый, который мерзавец автоматически создал для Вашей последней регистрации).
кроме того, при использовании мерзавца, у Вас всегда есть целый репозиторий с Вами. Можно зарегистрироваться, в то время как офлайн и объединяются позже (так как слияние намного более просто).
недостаток состоит в том что МЕРЗАВЕЦ это почти неприменим на Карте памяти в Windows. Windows отключает кэширование для них и работы МЕРЗАВЦА с миллионами крошечных файлов. Кроме того, поддержке IDE все еще недостает. Я не уверен, что последний является действительно проблемой. UI, который идет с МЕРЗАВЦЕМ, довольно хорош.
кроме того, я не на 100% рад, что необходимо "добавить" существующие файлы все время [РЕДАКТИРОВАНИЕ] и огромная сумма функций. Для новичка они являются подавляющими, и часто неясно, почему Вы хотели бы использовать определенную опцию/команду. Я имею в виду, CVS идет, скажем, с 20 командами. МЕРЗАВЕЦ идет 73, и у каждого есть много опций (и это не считает команды инфраструктуры...).
Другие соображения:
Профессионалы:
:
Последняя версия Мерзавца может работать непосредственно в Окне' командная строка, которая является, как я использую его. Процесс довольно тривиален для меня теперь.
мне также установили Мерзавца на внешнем жестком диске и на моем jumpdrive. Каждый раз, когда в новом компьютере, я выполняю сценарий, который временно устанавливает путь для включения инструментов Мерзавца. Тогда можно продолжить разрабатывать!
Стрельба по тарелочкам имеет большинство из них, но:
Pro:
Большой вопрос, я использовал SVN долгое время и чувствую себя довольно комфортно с ним. Но я должен был использовать Мерзавца пару раз для получения исходного кода от различных проектов с открытым исходным кодом. Тем не менее я не не торопился для реального приобретения знаний об этом. Действительно ли это стоит того?
я также спросил бы, что является преимуществами использования распределенного управления версиями по нормальному VCS как подрывная деятельность.