TortoiseGit против 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.
большинство IDEs также поддерживают git, JetBrains IDEA отлично справляется с добавлением списков изменений и других функций поверх него.
У меня нет большого опыта работы с TortoiseGit, но я установил и в настоящее время использую GitExtensions v2.21.
самые большие преимущества с использованием GitExtensions:
- визуальный gitk-подобный графический дисплей кодовых линий и ветвей, со всей необходимой информацией, доступной во вкладках, устраняя любую необходимость работать с недружественными SHA.
- возможность установки в качестве администратора и всех других пользователей на том же ПК может использовать его так же, как любой обычный пользователь.
- встроенная интеграция оболочки с проводником Windows
- из коробки интеграция с Visual Studio (пользователям Windows Eclipse нужен только msysgit, так как у них есть свой собственный GUI для замены необходимости в 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 никогда не разбился на мне, как это было для некоторых других рецензентов, но тогда мои РЕПО были небольшими. Он съел мои комментарии о фиксации более одного раза, что могло быть ошибкой пользователя. Поскольку вы можете вернуться и повторно редактировать комментарии, это было просто раздражение и стоило удобства иметь GUI, с окнами, которые показывают много информации с первого взгляда.
просто чтобы противостоять некоторым замечаниям выше:
с правильным ожиданием TortoiseGit предоставляет отличный графический интерфейс для работы с git в Windows. Это не замена TortoiseSvn, а улучшенный графический интерфейс над тем, что можно достичь с помощью gitk + Git-gui (который можно считать частью основной функциональности git и доступен в msysgit). Единственное плохое, что я вижу, это то, как вам не нужно будет запоминать все точные команды для проверки/rebase/merge и т. д., Так как это возможно чтобы сделать все это очень удобно через gui (что и есть весь смысл). Проблемы putty / ssh больше связаны с плохой поддержкой ssh в Windows и не уникальны для TortoiseGit.
Я использую GitExtensions. Я не использовал TortoiseGit, но один из наших других разработчиков любит его и отказывается использовать GitExtensions. Его рассуждения: 1) это знакомо; 2) у него отличная интеграция с проводником Windows.
используя GitExtensions я склонен использовать интеграцию Проводника Windows только для трех вещей:
1) создать новый локальный репозиторий (пункт контекстного меню git Init здесь, который на самом деле является командой git для Windows; GitExtensions сидит поверх Git для Windows);
2) Открыть GUI расширений Git (окно просмотра);
3) клонировать удаленный репозиторий до локального репозитория (пункт контекстного меню Git Extensions > Clone).
для почти всего остального у меня просто есть GUI GITEXTENSIONS и работает оттуда.
разработчики GitExtensions утверждают, что практически любая команда может быть выполнена из GUI. Это не совсем так, но я считаю, что мне нужно только попасть в командную строку интерфейс примерно раз или два в месяц для сложных задач.
в некоторых случаях GUI делает сложные задачи простыми, скрывая сложность базовых команд Git. Это иногда включает в себя объединение нескольких команд Git в одно действие. например, создание подмодулей, где GUI объединяет добавление подмодуля, инициализацию его и обновление в одно действие. В другом случае GUI упрощает задачу, предоставляя команду, которой не хватает Git-удаление подмодуля (в Git вы придется вручную редактировать различные файлы, такие как .gitmodules and .git / config для удаления подмодуля). Мне было бы интересно узнать, упрощает ли TortoiseGit сложные задачи аналогичным образом.
gitextensions также имеет довольно базовую интеграцию Visual Studio. Не знаю, знает ли TortoiseGit. Существует отдельный поставщик управления версиями Git для Visual Studio 2008 и 2010, который обеспечивает гораздо более широкую интеграцию Visual Studio. Однако, установив исходный элемент управления Git Провайдер я нахожу, я никогда не использую его. Единственная интеграция GitExtensions, которую я использую из Visual Studio, находится на панели инструментов, чтобы открыть GUI 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 не получила внимания в течение месяца: http://groups.google.com/group/tortoisegit-users/browse_thread/thread/9090337b7936e1e1 .
поле "загрузить ключ шпатлевки" из всплывающего окна первого использования Tortoise Git для клонирования сайта (и начала разработки) выделено серым цветом. Таким образом, закрытый ключ не найден, и сообщение об ошибке "соединение сброшено" Успешно!!!!
Git Bash работает отлично, хотя и на основе консоли. И если все выше говорят о непонимании концепции Git при использовании Tortoise Git, я бы просто держался подальше от нее, основываясь на этом, даже не принимая во внимание последние 3 часа, которые я потратил, пытаясь заставить Tortoise git работать на разработчика. Ему придется научиться консольному Git или пойти по дороге.
Я заработал за 15 минут, и я просто хакер, пытающийся нанять программистов ;-)
PS, Eclipse имеет все три основных репозитория управления версиями "соединители" и является очень хорошим редактором.