Я использую 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, который не имел этой функции, и это очень удобно. Дает мгновенную обратную связь о том, есть ли какие-либо незафиксированные изменения или нет.