TortoiseGit vs Git Extensions
каковы преимущества и недостатки использования расширений Git или TortoiseGit в ОС на базе Windows?
9 ответов:
Я не знаю GitExtensions, но я могу поделиться своим опытом с TortoiseGit (на который ссылается комментарий marc_s):
плюсы:
- отличная интеграция с Windows (это расширение оболочки)
- почти тот же пользовательский интерфейс, что и TortoiseSVN (если вы уже использовали TortoiseSVN, вы знаете, чего ожидать).
плюсы:
- у вас будет жесткий понять, как использовать git.
в проблема с TortoiseGit заключается в том, что люди, которые работали с TortoiseSVN, будут думаю все будет (или должно) работать точно так же, как в SVN... и в конечном итоге никогда не понимал, как работать с git. Как личный опыт, компания, в которой я работаю, мигрировала из SVN в git через 2 года, и каждый разработчик, который использовал TortoiseGit, не знал, что они делают, и иногда испортил свои локальные репозитории. В конце концов, они сбросили TortoiseGit и проводят время изучение git "The hard way" (shell, msysGit на Windows) и все были счастливы с тех пор.
вывод: просто используйте msysGit напрямую и правильно изучите git. Вам избежать многих головных болей в будущем.
моя компания попробовала оба и быстро сбросила Tortoise Git. Он разбился гораздо чаще. Кодеры утверждают, что Tortoise Git недостаточно способен, но я сам этого не проверял. Но я сам видел много аварий.
кодеры предпочитают Git bash, другие используют, но ненавидят расширения git. Хотя даже некоторые из них дополнительно открывают git bash. Git bash неизбежен, чтобы увидеть счетчики прогресса.
расширения Git не имеют возможности показывать счетчики прогресса во время тяги. Таким образом, только с расширениями Git вы сидите перед загадочным баром без прогресса, не зная, что происходит и не произошло ли что-то. Худшее-это отсутствующий или неправильный пароль: расширения Git просто позволяют вам ждать вечно, показывая ту же светящуюся панель, как если бы она делала что-то трудоемкое. Еще один ужас расширений Git-это частое прерывание с "из памяти", когда версирование многих больших файлов и вытягивание с помощью rebase. После такого прерывания некодирующие пользователи всегда перегружены проблемами. Многие файлы, которые они не меняли показывают, как изменился и файл блокировки предотвращает их от решения проблемы и т. д..
на мой взгляд, оба инструмента GUI незрелые.
вы хотите расширения Git по одной важной причине-он показывает вам графическое представление журнала фиксации (см. ниже). Без этого графического представления я не думаю, что большинство людей, новых для git, когда-либо получат то, что происходит с ветвями, коммитами, перебазированием, сбором вишни и т. д. (Я знаю, что этого не было).
вы собираетесь сделать некоторые из ваших работ в командной строке также, это ваш лучший выбор, чтобы практически использовать git, так как вся помощь, которую вы получите, будет командной строкой основывающийся.
все сказанное, вы также можете использовать Tortoise Git (предполагая, что это работает), поскольку все они вызывают одни и те же исполняемые файлы командной строки и действуют в одном репозитории git.
большинство IDE также поддерживают git, JetBrains IDEA отлично справляется с добавлением списков изменений и других функций поверх него.
У меня нет большого опыта работы с TortoiseGit, но я установил и в настоящее время использую GitExtensions v2.21.
самые большие преимущества с использованием GitExtensions:
- визуальный gitk-подобный графический дисплей кодовых линий и ветвей, со всей необходимой информацией, доступной на вкладках, устраняя любую необходимость работать с недружественными SHA.
- возможность установки в качестве администратора и все другие пользователи на том же ПК могут использовать его так же, как любой обычный пользователь.
- встроенная интеграция оболочки с проводником Windows
- из коробки интеграция с Visual Studio (пользователям Windows Eclipse нужен только msysgit, так как у них есть свой собственный графический интерфейс для замены необходимости в GitExtensions)
- простой в использовании установщик, который поставляется в комплекте со всеми необходимыми и необходимыми функциями для запуска из коробки (SSH Client, KDiff, msysgit).
- интеграция с GitHub (вилка, клон, тянуть все обтекаемый)
недостатки:
- документация не идет в ногу с новыми функциями постоянно добавляются. Например, я до сих пор не знаю, как использовать функции сценариев.
чтобы мы не забыли, что это совершенно бесплатная программа, и предложенная нам в качестве опции без каких-либо условий, я не вижу оснований для таких высоких ожиданий, возлагаемых на нее, как если бы мы были платными клиентами? Я видел некоторые из прерываний и замораживание, о котором упоминал предыдущий пользователь, но я считаю, что большинство из них было исправлено в v2.24. Многие из прерываний и неудачных действий на самом деле не являются ошибкой GitExtensions, а скорее симптомом системной проблемы за пределами GitExtensions (например. неверно настроенная настройка SSH, проблемы с правами доступа к файлам на сервере, на котором размещается удаленное РЕПО, и т. д.). Например, был один раз, когда я сделал простой толчок, который вызвал сбой и прерывание. Оказывается, пульт, на который я пытался нажать, был включен очень длинный путь, который вызывал проблемы для сервера Mac, на котором размещалось РЕПО.
в любом случае, тем не менее, мой опыт работы с GitExtensions был довольно положительным. Я считаю, что преимущества, описанные выше, сделали целесообразным мириться со случайными прерываниями и зависаниями, пока ошибки не будут исправлены.
Я не могу говорить с расширениями Git, поскольку я никогда не использовал его. Были некоторые проблемы с чистым ЖКТ. Например, не удалось интегрировать GVIM. Tortoise Git имеет встроенный редактор и инструмент diff (что удивительно), так что это очень хорошее удобство. Мне понравились диаграммы ветвей в книге Скотта Чакона, и я надеялся, что у TGit будет аналогичная диаграмма. У них есть инструмент для отображения ветвей, но это не так хорошо, как в книге.
одна вещь, чтобы иметь в виду, что так как TGit является просто оболочка поверх GIT, нет никакого вреда в смешивании двух методов. Я использую TGit для большинства вещей, но погружаюсь в GIT для команд, которые неудобны или которые я просто не очень хорошо понимаю в TGit. Но даже если вы планируете использовать TGit, все равно важно, как упоминалось выше, сначала понять основы GIT. Я бы прочитал первые, скажем, три главы в книге Чакона (доступно бесплатно онлайн по адресу http://progit.org/book/ или при покупке на Amazon). Если вы похожи на меня вы возможно, вы захотите прочитать их несколько раз, чтобы позволить парадигме утонуть. Это не все так сложно, но это очень отличается от предыдущих VCS.
TGit никогда не разбился на меня, как это было для некоторых других рецензентов, но тогда мои РЕПО были небольшими. Он действительно съел мои комментарии к фиксации более одного раза, что могло быть ошибкой пользователя. Поскольку вы можете вернуться и повторно отредактировать комментарии, это было просто раздражение и стоило удобства иметь графический интерфейс, с окнами, которые показывают много информации с первого взгляда.
просто чтобы противостоять некоторым замечаниям выше:
с правильным ожиданием, TortoiseGit обеспечивает отличный графический интерфейс для работы с git на Windows. Это не замена TortoiseSvn, а улучшенный графический интерфейс по сравнению с тем, что можно достичь с помощью gitk + Git-gui (который можно считать частью основной функциональности git и доступен в msysgit). Единственная плохая вещь, которую я вижу, это то, как вам не нужно будет запоминать все точные команды для проверки/перебазирования/слияния и т. д., Так как это возможно делать все это очень удобно через графический интерфейс (в чем и весь смысл). Проблемы putty / ssh больше связаны с плохой поддержкой ssh в Windows и не являются уникальными для TortoiseGit.
Я использую GitExtensions. Я не использовал TortoiseGit, но один из наших других разработчиков любит его и отказывается использовать GitExtensions. Его рассуждения 1) это знакомо; 2) у него отличная интеграция с проводником Windows.
используя GitExtensions я склонен использовать интеграцию Проводника Windows только для трех вещей:
1) для создания нового локального репозитория (пункт контекстного меню Git Init здесь, который на самом деле является командой Git для Windows; GitExtensions сидит поверх Git для Windows);
2) чтобы открыть графический интерфейс расширений Git (окно просмотра);
3) клонировать удаленный репозиторий до локального репозитория (пункт контекстного меню Git Extensions > Clone).
для почти всего остального у меня просто есть графический интерфейс GitExtensions и работает оттуда.
разработчики GitExtensions утверждают, что практически любая команда может быть выполнена из графического интерфейса. Это не совсем так, но я считаю, что мне нужно только зайти в командную строку интерфейс примерно один или два раза в месяц для сложных задач.
в некоторых случаях графический интерфейс упрощает сложные задачи, скрывая сложность базовых команд Git. Это иногда включает в себя объединение нескольких команд Git в одно действие. например, создание подмодулей, где графический интерфейс объединяет добавление подмодуля, его инициализацию и обновление в одно действие. В другом случае графический интерфейс упрощает задачу, предоставляя команду, которой не хватает Git-удаление подмодуля (в Git вы придется вручную редактировать различные файлы, такие как .gitmodules и .git / config для удаления подмодуля). Мне было бы интересно узнать, упрощает ли TortoiseGit сложные задачи аналогичным образом.
GitExtensions также имеет довольно базовую интеграцию с Visual Studio. Не знаю, если TortoiseGit делает. Существует отдельный поставщик управления версиями Git для Visual Studio 2008 и 2010, который обеспечивает гораздо более обширную интеграцию с Visual Studio. Однако, установив систему управления версиями Git Провайдер я считаю, что я никогда не использую его. Единственная интеграция GitExtensions, которую я использую из Visual Studio, находится на панели инструментов, чтобы открыть графический интерфейс GitExtensions с соответствующим репозиторием. Я буду работать с Visual Studio на одном мониторе, а gitextensions-на другом.
по крайней мере, из версии 2.32 GitExtensions показывает количество незафиксированных файлов на панели инструментов. Я ранее использовал 2.24, который не имел этой функции, и это очень удобно. Дает мгновенную обратную связь о том, есть ли незафиксированные изменения или нет.
для быстрой и легкой компиляции, настройки и наращивания расширений, GitExtensions лучше (C#), чем TortoiseGit (Visual C++ MFC)
для удобоносимости, GitExtensions лучше (.NET на Windows / mono на Linux / Mac), чем TortoiseGit (только Win32 / 64)
чтобы использовать наложение значков в Проводнике, используйте TortoiseGit
для выполнения некоторых функций, TortoiseGit лучше, потому что он вызывает статическую / динамическую библиотеку для получения результата из репозитория, в то время как GitExtensions вызывает только git.exe командной строки, которая имеет большие накладные расходы.
для миграции из TortoiseSVN, TortoiseGit будет более знаком, чем GitExtensions
дата: 2011-08-27.
на данный момент Tortoise Git вообще не работает, и вопрос на сайте google code не получил внимания в течение месяца: http://groups.google.com/group/tortoisegit-users/browse_thread/thread/9090337b7936e1e1 .
поле "Load Putty Key" из всплывающего окна при первом использовании Tortoise Git для клонирования сайта (и начала разработки) выделено серым цветом. Так что закрытый ключ не найден, и сообщение об ошибке связи уронила Удачно!!!!
Git Bash работает отлично, хотя и на основе консоли. И если все выше говорят о непонимании концепции Git при использовании Tortoise Git, я бы просто держался подальше от нее, основываясь на этом, даже не принимая во внимание последние 3 часа, которые я провел, пытаясь заставить Tortoise git работать на разработчика. Ему придется выучить консольный Git,или идти по дороге.
Я получил его работу в течение 15 минут, и я просто хакер, пытающийся нанять программистов ; -)
PS, Eclipse имеет все три основных репозитория управления версиями "разъемы" доступны и является очень хорошим редактором.