TortoiseGit против Git Extensions - PullRequest
75 голосов
/ 16 мая 2011

Каковы преимущества и недостатки использования Git Extensions или TortoiseGit в ОС Windows Based?

Ответы [ 9 ]

97 голосов
/ 27 июля 2011

Я не знаю GitExtensions, но я могу поделиться своим опытом с TortoiseGit (на что ссылается комментарий marc_s):

Плюсы:

  • Отличная интеграция с Windows (это расширение оболочки)
  • Почти такой же пользовательский интерфейс, как TortoiseSVN (если вы уже использовали TortoiseSVN, вы знаете, чего ожидать).

Минусы:

  • У вас будет трудное время, чтобы понять, как использовать git.

Проблема с TortoiseGit заключается в том, что люди, которые работали с TortoiseSVN, будут думать , что все будет (или должно) работать точно так же, как в SVN ... и в конечном итоге никогда не поймут, как работать с git. Как личный опыт, компания, с которой я работаю, через 2 года перешла из SVN в git, и каждый разработчик, который использовал TortoiseGit, в конце концов не знал, что он делает, и иногда ломал свои локальные репозитории. В конце концов, они отказались от TortoiseGit и потратили время на изучение git «трудным путем» (shell, msysGit для Windows), и с тех пор все были счастливы.

Вывод: просто используйте msysGit напрямую и правильно изучите git. В будущем вы избежите многих головных болей.

26 голосов
/ 08 августа 2011

Моя компания попробовала и то и другое, и быстро бросила «Черепаховый мерзавец».Он падал гораздо чаще.Кодеры утверждают, что Tortoise Git недостаточно способна, но я сам не проверял.Но я и сам видел множество сбоев.

Кодеры предпочитают git bash, другие используют, но ненавидят git Extensions.Хотя даже некоторые из них дополнительно открывают git bash.Git Bash неизбежно видеть счетчики прогресса.

Git Extensions не имеет возможности отображать счетчики прогресса во время вытягивания.Так что только с Git Extensions вы сидите перед загадочным индикатором отсутствия прогресса, не зная, что происходит и что-то не получилось.Наихудшим является отсутствующий или неправильный пароль: Git Extensions позволяет вам ждать вечно, показывая ту же самую светящуюся полосу, как если бы она занимала много времени.Еще один ужас Git Extensions - это частые прерывания из-за нехватки памяти при создании версий больших файлов и вытягивании с помощью rebase.После такого прерывания пользователи без кодирования всегда перегружены проблемами.Многие файлы, которые они не изменили, отображаются как измененные, и файл блокировки не позволяет им справиться с проблемой и т. Д.

По моему мнению, оба инструмента с графическим интерфейсом являются незрелыми.

19 голосов
/ 28 сентября 2011

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

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

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

Большинство IDE также имеют поддержку git, JetBrains IDEA отлично справляется с добавлением списков изменений и других функций ввершина этого.

Git Extensions log view

13 голосов
/ 01 сентября 2011

У меня нет большого опыта работы с TortoiseGit, но я установил и сейчас использую GitExtensions v2.21.

Самые большие преимущества использования GitExtensions:

  • visual gitk-подобное графическое отображение строк кода и веток со всей необходимой информацией, доступной во вкладках, исключая необходимость работать с недружелюбными SHA.
  • возможность установки в качестве администратора, и все другие пользователи на одном ПК могут использовать его простокак любой обычный пользователь.
  • встроенная интеграция оболочки с Windows Explorer
  • встроенная интеграция с Visual Studio (пользователям Windows Eclipse нужен только msysgit, так как у них есть собственный графический интерфейс для заменыпотребность в GitExtensions)
  • простой в использовании установщик, который поставляется в комплекте со всеми необходимыми и необходимыми функциями для запуска из коробки (SSH Client, KDiff, msysgit).
  • интеграция сGitHub (вилка, клон, тяга - все оптимизировано)

Недостатки:

  • документentation не поспевает за постоянно добавляемыми новыми функциями.Например, я до сих пор не знаю, как использовать функции сценариев.

Чтобы мы не забыли, что это абсолютно бесплатная программа, и мы предлагаем ее в качестве опции без каких-либо условий, я не понимаюНе видите ли обоснования таких высоких ожиданий, как если бы мы были платными клиентами?Я видел некоторые из прерываний и зависаний, упомянутых предыдущим пользователем, но я считаю, что большинство из них было исправлено в v2.24.Многие прерывания и неудачные действия на самом деле не являются ошибкой GitExtensions, а скорее являются признаком системной проблемы вне GitExtensions (например, неправильно настроенная настройка SSH, проблемы с правами доступа к файлам на сервере, на котором размещено удаленное хранилище и т. Д.).Например, был один раз, когда я делал простой толчок, который вызывал сбой и прерывание.Оказывается, пульт, на который я пытался перейти, имел очень длинный путь, который вызывал проблемы для сервера Mac, на котором размещалось хранилище.

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

12 голосов
/ 14 марта 2012

Я не могу говорить с Git Extensions, так как никогда не использовал его.Были некоторые проблемы с чистым ЖКТ.Например, не удалось интегрировать GVIM.Tortoise Git имеет встроенный редактор и инструмент сравнения (что удивительно), так что это очень приятное удобство.Мне понравились диаграммы ветвей в книге Скотта Чакона, и я надеялся, что у TGit будет похожая диаграмма.У них есть инструмент для отображения веток, но он не так хорош, как в книге.

Следует иметь в виду, что, поскольку TGit - это просто оболочка над GIT, нет ничего плохого в смешиваниидва метода.Я использую TGit для большинства всего, но погружаюсь в GIT для команд, которые неуклюжи или которые я просто не очень хорошо понимаю в TGit.Но даже если вы планируете использовать TGit, все же важно, как уже упоминалось выше, сначала понять основы GIT.Я прочитал первые, скажем, три главы в книге Чакона (доступны бесплатно в Интернете по адресу http://progit.org/book/ или при покупке на Amazon).Если вы похожи на меня, вы, возможно, захотите прочитать их несколько раз, чтобы парадигма погрузилась. Это не так уж сложно, но очень сильно отличается от предыдущих VCS.

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

9 голосов
/ 26 января 2012

Просто чтобы противостоять некоторым замечаниям выше:

При правильном ожидании TortoiseGit предоставляет превосходный графический интерфейс для работы с git на Windows.Это не замена TortoiseSvn, а улучшенный графический интерфейс по сравнению с тем, что можно достичь с помощью gitk + git-gui (который можно рассматривать как часть основной функциональности git и доступный в msysgit).Единственное плохое, что я вижу, это то, что вам не нужно запоминать все точные команды для извлечения / ребазирования / слияния и т. Д., Поскольку все это очень удобно делать через графический интерфейс (в этом весь смысл).Проблемы putty / ssh больше связаны с плохой поддержкой ssh ​​в Windows и не являются уникальными для TortoiseGit.

7 голосов
/ 07 сентября 2012

Я использую GitExtensions. Я не использовал TortoiseGit, но один из наших разработчиков любит его и отказывается использовать GitExtensions. Его аргументация 1) это знакомо; 2) Отличная интеграция с Windows Explorer.

Использование GitExtensions Я склонен использовать интеграцию с Windows Explorer только для трех вещей:

1) Создать новый локальный репозиторий (пункт контекстного меню Git Init Here, который на самом деле является командой Git для Windows; GitExtensions располагается поверх Git для Windows);

2) Чтобы открыть графический интерфейс Git Extensions (окно просмотра);

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 Source Control Provider, я обнаружил, что никогда им не пользуюсь. Единственная интеграция GitExtensions, которую я использую из Visual Studio, находится на панели инструментов, чтобы открыть графический интерфейс GitExtensions с соответствующим репозиторием. Я буду работать с Visual Studio на одном мониторе, а GitExtensions - на другом.

По крайней мере, с версии 2.32 GitExtensions показывает количество неподтвержденных файлов на своей панели инструментов. Ранее я использовал 2.24, который не имел этой функции, и это очень удобно. Дает мгновенную обратную связь о том, есть ли какие-либо незафиксированные изменения или нет.

5 голосов
/ 07 августа 2012

Для быстрой и простой компиляции, настройки и построения расширений GitExtensions лучше (C #), чем TortoiseGit (Visual C ++ MFC)

Для переносимости GitExtensions лучше (.NET в Windows / mono в Linux /Mac), чем TortoiseGit (только для Win32 / 64)

Чтобы использовать наложение значков в Проводнике, используйте TortoiseGit

Для повышения производительности некоторых функций TortoiseGit лучше, поскольку он вызывает статическую / динамическую библиотеку для извлечениярезультат из репозитория, в то время как GitExtensions вызывает только командную строку git.exe с большими накладными расходами.

Для перехода с TortoiseSVN TortoiseGit будет более знаком с GitExtensions

0 голосов
/ 28 августа 2011

ДАТА: 2011-08-27.

На данный момент, Tortoise Git НЕ РАБОТАЕТ вообще, и проблема на сайте кода Google не получила внимания в течение месяца: http://groups.google.com/group/tortoisegit-users/browse_thread/thread/9090337b7936e1e1

Поле 'Load Putty Key' из всплывающего окна при первом использовании Tortoise Git для клонирования сайта (и начала разработки) затенено.Таким образом, секретный ключ не найден, и сообщение об ошибке «Соединение разорвано». SUCCESSFUL !!!!

Git Bash работает отлично, хотя и на основе консоли.И если все выше расскажут о непонимании концепции Git при использовании Tortoise Git, я бы просто держался от этого подальше, даже если не учитывать последние 3 часа, которые я потратил, пытаясь заставить Tortoise Git работать на разработчика.Ему придется изучать консольный Git или идти по дороге.

У меня все заработало за 15 минут, и я просто хакер, пытающийся нанять программистов; -)

PSEclipse имеет все три основных «коннектора» хранилища контроля версий и является очень хорошим редактором.

...