Что такое хороший удобный для новичков графический клиент Git для Windows?

Лично я бы просто установил Cygwin и продолжил работу с обычными инструментами оболочки *nix, но мне нужно порекомендовать программное обеспечение некоторым клиентам, которым нужно что-то более удобное для новичков.

Ситуация такова, что несколько клиентов разработали веб-сайт(ы) в основном в виде статического HTML, но сервер, на котором они должны быть развернуты, не имеет обычного набора доступных протоколов 1990-х годов (например, нет FTP ). Фактически нет доступа к какому-либо графическому интерфейсу. Развертывание осуществляется через Git. Изменения должны быть отправлены в удаленный репозиторий, доступный только через вход по ключу SSH. Любая фиксация в главной ветке, нажатая авторизованным ключом, запускает скрипт ловушки, который развертывает сайт на рабочих серверах.

Я хочу предложить клиент Git для Windows, который:

  • делает его относительно простым в настройке и инициализации…
    • … один или несколько локальных репозиториев.
    • …один пульт git+ssh.
    • …аутентификация с использованием пары ключей RSA (ее генерация будет бонусом).
  • имеет простой интерфейс, в котором можно легко выполнить базовый рабочий процесс фиксации и отправки без понимания тонкостей распределенного управления версиями.

Для каждого клиента доступен экземпляр GitLab , у которого есть один проект на домен, что позволяет довольно легко добавить свой открытый ключ. Он также дает клонированные/удаленные URL-адреса для каждого проекта и позволяет довольно легко проверить, каков статус удаленного репозитория.

Предпочтение отдается открытому исходному коду, но допускается любое бесплатное ПО с хорошей репутацией. На какое клиентское ПО мне их указать?

Изменить: большинство предложений на сегодняшний день, похоже, сосредоточены на полномасштабных интерфейсах для всех функций Git. Я ищу что-то более урезанное, что охватывает только основы и лучше подходит для конкретной задачи, чем для бега с большими собаками. Я думаю, что принцип KISS здесь для людей, которые не используют контроль версий для чего-либо еще и просто хотят «загружать» свои веб-сайты.

Обратите внимание, что я задал аналогичный вопрос для OSX , но мне особенно нужны инструменты, которые знакомы и просты в освоении. Кроссплатформенность будет в порядке, но я считаю, что лучшим решением для новичков будет что-то родное для каждой платформы, поэтому, пожалуйста, имейте это в виду при ответе.
Не уверен, что этого достаточно для ответа: я когда-либо использовал PortableGit только в Windows. Это было мое первое использование Git (я «мигрировал» с SVN), и это сработало очень хорошо: безделушка для установки. Полная информация о наборе из Git для Windows . ПОМОЩЬ.
Я действительно хотел бы увидеть плюсы и минусы :D
@ManuelSchneid3r +74/-0 на момент публикации. Ответы: +58/-2, +48/-3, +34/-0, +12/-0, +8/-1, +2/-0, в порядке голосов.
Только что присоединился к этому сайту SO, поэтому пока не могу ответить, но вот довольно новое предложение от Axosoft: gitkraken.com . Похоже, это одно из тех современных приложений, созданных на Node, и оно еще не поддерживает подмодули, но пока он сносит двери SourceTree за то, что предлагает мощные функции простым способом.
Также только что присоединившийся к этому сайту SO, я мог бы добавить, что для всех людей, которым нравятся IDE, Visual Studio 2015 (даже бесплатная версия) имеет отличную поддержку Git. Легко управлять добавленными/редактируемыми/удаленными файлами; встроенный инструмент слияния; простая установка. Он не поддерживает SSH, но в остальном является одним из лучших инструментов для Git в Windows.

Ответы (11)

Для начинающих нет ничего лучше TortoiseGit .

  • Он интегрируется с проводником Windows (нет нового пользовательского интерфейса для изучения)
  • Открытый исходный код (GPL)
  • Настройка/инициализация нового локального репо:

Настройка/инициализация нового локального репо

  • Основные функции находятся в верхней части контекстного меню (Sync, Commit, Push and Pull):

ЧерепахаGit

Это настоятельно рекомендуется.
@Jbaruch, пожалуйста, прочитайте этот мета-пост и отредактируйте свой ответ соответствующим образом.
@Olli, я считаю, что мой ответ в значительной степени соответствует инструкциям в этом посте. Я прямо указываю, почему этот продукт соответствует запросу, выделяю соответствующие функции и выражаю свое мнение о нем. Чего не хватает?
@Jbaruch, насколько просто инициализировать новый локальный репозиторий? Один пульт git + ssh? аутентификация? Это с открытым исходным кодом? В вопросе указаны конкретные требования, на которые вы не обращаетесь.
@Olli, давайте перейдем к мета , у меня есть некоторые мысли о том, как работает этот сайт.
@Olli добавил кое-что.
Я все еще не думаю, что это можно назвать качественным ответом. Тем не менее, он начинает соответствовать самым основным требованиям. Дополнительные цитаты из этого связанного мета-поста: «Вы также должны говорить о любых потенциальных причудах, о которых вы можете подумать, и даже о вещах, которые вы считаете недостатками продукта. Короче говоря, поделитесь своим опытом с чем-то, а не просто своим знание того, что оно существует».
Это снова мы. Я не пользуюсь этим банкоматом. Поэтому я не знаю о каких-либо причудах, проблемах, недостатках и т. д. У меня нет соответствующего опыта с этим. Должен ли я удалить свой ответ сейчас (хороший ответ, хорошо объясненный, предоставляющий ценную и актуальную информацию)? НП, действительно. Если вы ожидаете только совершенства, не считайте меня. Я предпочитаю существующее добро несуществующему совершенству.
Если у вас нет соответствующего опыта с этим, может быть, вы не должны рекомендовать его? На мой взгляд, вам следует либо улучшить этот ответ, либо удалить его и вместо этого добавить комментарий к вопросу.
Удалить единственный актуальный и хороший ответ?! Это удивительный совет. Этот сайт будет популярен с таким отношением, это точно.
TortoiseGit настолько прост, насколько это возможно. Если кто-то другой настроит его для вас, все, что вам нужно сделать, чтобы зафиксировать изменения, — это щелкнуть правой кнопкой мыши файл (или папку) в проводнике и выбрать «Git Commit».
Я бы не рекомендовал инструменты Tortoise новичкам, потому что они слишком просты. Нет графического интерфейса, который сообщает им, что происходит. Я думаю, что этот инструмент скорее для опытных пользователей, которые знают, чего ожидать, когда они вводят команду git.
Я попробовал это после прочтения этой рекомендации, но лично мне было слишком сложно учиться за 5 минут, поэтому я скачал SourceTree и обнаружил, что его намного проще использовать... в основном потому, что есть интерфейс. согласен с комментарием ТТ
"Он интегрируется с проводником Windows" Гадость, фигня, фигня. Есть ли отдельная портативная версия?
Хотя TortoiseGit — мощный инструмент, а интеграция с оболочкой хороша, он не получит никаких наград за удобство использования. Не похоже, чтобы у вас был один оптимизированный интерфейс для большинства команд git, для всего есть разные окна и инструменты, и я уверен, что некоторые из них созданы для садистов. На мой взгляд, он не соответствует критериям «хорошего удобного для новичков графического клиента Git для Windows», как того требует ОП...
Лично я предпочитаю не использовать Tortoise GIT. В то время как Tortoise SVN является прекрасным инструментом SVN, Tortoise GIT заимствует слишком много от Tortoise SVN, сохраняя много терминологии SVN и рабочего процесса. Трудно или неясно делать что-то «как GIT». Например, никто никогда не узнает, что означает «Синхронизировать» в Tortoise GIT, потому что такой встроенной команды нет. С другой стороны, если делать что-то «по пути GIT» не имеет значения, и большинство разработчиков пришли из области SVN, но по какой-то причине решили использовать GIT. GIT черепахи работает.
Потратив годы на использование TortoiseHg, я думал, что TortoiseGit предложит аналогичный опыт. Неправильный. В то время как вы можете делать практически все для Mercurial в «Hg Workbench» через единый унифицированный пользовательский интерфейс, TortoiseGit полностью фрагментирован. Здесь нет «центрального окна», просто множество разрозненных панелей, которые кажутся неполными, несовместимыми друг с другом и сбивающими с толку. Проще говоря, вам нужно уже знать команды git, прежде чем вы сможете использовать TortoiseGit, в то время как вы можете использовать TortoiseHG годами и никогда не касаться командной строки. По этой причине я считаю TortoiseGit плохим инструментом.
@RogerSanders - это отличный отзыв. Я нахожусь в похожей ситуации - довольно продуктивно использовал TortoiseHg в течение длительного времени, но я все еще полный нуб в отношении сырого Mercurial или управления версиями командной строки в целом. Я могу признать, что Git «победил» (см., например, Bitbucket), и поэтому ищу Git-эквивалент TortoiseHg. Разочаровывает то, что TortoiseGit не соответствует стандартам «франшизы Tortoise».

Я перешел с Github для Windows, а затем с Git Extensions на SmartGit и рекомендую его. Вот почему-

  1. Кроссплатформенность (сделано на Java)
  2. Очень прост в настройке и использовании. Если у вас уже есть опыт работы с git-клиентами, вы не потратите ни минуты на то, чтобы приступить к делу.
  3. Портативный
  4. Простой чистый интерфейс. Основной интерфейс показывает только измененные файлы и большие кнопки Commit, Merge, Push и Pull.

    СмартГит

Коммерческое программное обеспечение, но бесплатное для частного использования.

Для новичков в git или не-пользователей git единственной проблемой будет настройка ключей SSH . Как только вы это сделаете и клонируете свой первый репозиторий, все будет просто, и вам никогда не придется открывать консоль.

Этот вопрос очень специфичен для людей, которые не имеют опыта работы с git (или vcs) и не планируют его иметь. Не могли бы вы прокомментировать, как это будет работать для этого варианта использования? Это почти звучит так, как будто что-то более раннее в вашей цепочке может быть лучше. Что такое «Git-расширения»?
@Caleb Я отредактировал ответ. Git Extensions может быть легко настроить в первую очередь из-за встроенных плагинов для многих сервисов, но для последней части «управления репо» я предпочитаю SmartGit, потому что он более прост. + это портативно
Я использовал SmartGit в качестве своего первого клиента git, и он прост в использовании и требует лишь небольшого обучения. Я бы любому это рекомендовал.
SmartGit действительно хорош как для новичков, так и для более опытных пользователей. Вы можете получить хорошее визуальное представление о том, что происходит, и упростить большинство повседневных задач.
Я также использовал SmartGit в качестве своего первого графического интерфейса Git, когда у меня не было абсолютно никакого понимания Git, и мне все же удавалось его использовать. При этом я считаю себя более опытным пользователем.
Единственная проблема, он поддерживает BitBucket только по SSH. Хотелось бы, чтобы он поддерживал BitBucket через HTTPS. Любой другой портативный клиент?
@Drazick Недавно они добавили поддержку транспорта HTTPS :)
@RamRachum, в какой версии?
Я не уверен, возможно, 6 или 6,5. Их журнал изменений неполный.
Это программное обеспечение содержит вирус, обнаруженный virutstotal virustotal.com/en/file/…
это не бесплатно, это пробная версия
но ЯВА. Нет нет нет.
Ява? Это шутка? Напиши один раз опустоши везде!
Я полностью согласен. SmartGit, вероятно, лучший простой клиент контроля версий. Он имеет почти все функции, которые вы когда-либо хотели использовать в графическом интерфейсе, но по-прежнему довольно прост в использовании, если вам не нужны какие-либо дополнительные функции. Кроме того, программное обеспечение Java прекрасно, если вы его не пишете. За исключением этого бизнеса Swing. Это так некрасиво.

Я использую Atlassian SourceTree и мне это очень нравится.

Вот дрель:

  • Бесплатно (не с открытым исходным кодом, AFAIK)
  • Многофункциональный — есть почти все функции Git (но не GitHub, например, я не нашел способа перебазировать вилку GitHub. Это выполнимо с помощью обычных команд Git — добавление удаленного и т. д., но не из коробки)
  • Поддерживает GitFlow
  • Хороший интерфейс:

    Скриншот

ПРИМЕЧАНИЕ. Этот скриншот из гораздо более старой версии. Пользовательский интерфейс более новой версии проще.

Итог - я нахожу его почти идеальным и использую его для всех нужд, которые не покрываются моей IDE.

Это выглядит НАМНОГО слишком сложным — слишком много кнопок. Я не столько хочу «многофункционального», сколько «разреженного». Это может быть полезно для тех, кто разбирается в деревьях ветвлений и различий и во всем остальном, но не для новичков, которые на самом деле не планируют изучать git. Мне нужно что-то, что скрывает сложности даже базовой подготовки перед фиксацией.
Понятно. Должен ли я добавить еще один или удалить этот, чтобы поставить вместо него другой?
Я вижу некоторый смысл в том, чтобы оставить его в качестве предупреждения для других о том , что не подходит для этого вопроса, но он просто (надеюсь) окажется внизу в стеке, и я вижу желание удалить его позже . Я предполагаю, что это будет зависеть от того, считаете ли вы, что это хороший/действительный ответ на этот вопрос (ваша другая запись, кажется, лучше поняла проблему).
Наконец, кто-то еще, кто использует Sourcetree!
SourceTree, безусловно, лучший, но у них нет версии для Linux. Сначала это выглядит пугающе, но на самом деле это совсем не так. Очень прост в использовании.
Я использовал SourceTree, но перешел на SmartGit. SourceTress был хорош, но я нашел интерфейс громоздким. Личное предпочтение, конечно, но я просто нахожу интерфейс SmartGit более мощным. SourceTree по-прежнему хорош, но не в моем вкусе.
Они только что обновили интерфейс SourceTree, сделав его немного менее громоздким. Мне лично это очень нравится. Я был полным новичком во всем Git, и мне потребовалось всего несколько часов, чтобы освоиться благодаря этому клиенту.
@Caleb, на этом снимке экрана это выглядит более сложным, чем ваш вариант использования. Я настоятельно рекомендую хотя бы немного углубиться в git, если вы являетесь участником. Невежество не является оправданием. Sourcetree «просто работает» и выглядит хорошо, пока делает это.
У меня всегда есть проблемы с производительностью. Это действительно медленный инструмент. Вся моя команда того же мнения.
Я бы хотел, чтобы у них была портативная версия.
Это совсем не сложно... Я научился этому за несколько минут, после неудачного опыта с другими клиентами. Smart Git на самом деле вылетел у меня сразу после того, как спросил, можно ли отправлять информацию о сбое, лол. Это вылет при запуске, поэтому даже на главный экран попасть не удалось. SourceTree великолепен, за исключением небольшого зависания при работе с моим репозиторием, в котором много файлов.
Сам GIT имеет функции, которые должен изучить и понять любой пользователь. «разреженный» и «простой» — хорошие характеристики, но в случае с SourceTree вам нужно знать, что вы делаете. Комментарии по поводу "медленно" повторяются мной. Если вы понимаете, что происходит, то вы знаете, почему и когда ожидать, что он будет медленным, однако я считаю это почти неприемлемым вместе с постоянными сообщениями «о, как смущает SourceTree». Однажды сбой фактически испортил слияние и серьезно испортил мой коммит, потратив впустую довольно много времени. Глядя на другие графические интерфейсы...
SourceTree глючит и не добавляет никакого уровня абстракции.
Если вы используете SourceTree, придерживайтесь версии 1.7. 1.8 ужас. Ссылка для скачивания версии 1.7: downloads.atlassian.com/software/sourcetree/windows/…
SourceTree в настоящее время представляет собой невероятный кусок мусора (1.9.x). Он очень медленный, вылетает слева и справа, пользовательский интерфейс глючит и не отвечает, а разработка в основном сосредоточена на обновлении значков. Мое кровяное давление повышается каждый раз, когда я должен его использовать.

Мне очень нравится Git для Windows (msysGit) . Он имеет три «режима» — Bash (где вы можете делать все ), контекстное меню Windows и графический интерфейс (где вы можете делать намного меньше, но я бы сказал, что он очень удобен для пользователя).

  • делает его относительно простым в настройке и инициализации: очень просто
    • один или несколько локальных репозиториев: Инициализация очень проста, и вы можете иметь столько, сколько хотите, без конфликтов.
    • один пульт git + ssh: легко - довольно легко добавить больше пультов, если это необходимо, в какой-то момент в будущем. (см. скриншот ниже, доступ к которому осуществляется с помощью GitGUI->remote->add)
    • аутентификация с использованием пары ключей RSA (генерация этого будет бонусом): да, вы также можете сгенерировать его, хотя это только через строку cmd (см. этот учебник )
    • имеет простой интерфейс, в котором базовый рабочий процесс фиксации и отправки легко выполняется без понимания тонкостей распределенного управления версиями: Да, см. снимок экрана, мне было намного легче учиться, когда я впервые начал играть с кодом, чем RapidSVN или TortoiseSVN.

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

Скриншот

Я не совсем нуб, но я не использую Git ежедневно, и у меня было много проблем с ним - не мог найти окно слияния. добавление файлов и отмена изменений были очень сложными, а интерфейс сложным.

Самый упрощенный и легкий, который я когда-либо видел, — это GitHub для Windows :

Скриншот GitHub для Windows

Но есть одно предостережение : использование с репозиториями, отличными от github , не интуитивно понятно (похоже на взлом TBH) .

ИМО, отсутствие fetch и push в словаре наносит ущерб его полезности как инструмента, отличного от github.
Это слишком упрощенно. Очень быстро вы обнаружите, что ему не хватает функциональности. Например, я не нашел, поддерживает ли он тайник.
Это не слишком просто для новичков, о чем и был ОП.

Вы можете рассмотреть возможность использования GitKraken . Некоторые особенности:

  • Бесплатно для некоммерческого использования
  • Кроссплатформенность (Windows, Mac, Linux)
  • Поддержка нескольких профилей
  • Отмена и повтор в один клик
  • Встроенный инструмент слияния
  • Перетащите, чтобы объединить, перебазировать, сбросить, нажать и многое другое
  • Изменяемый размер, простой для понимания график коммитов
  • Просмотр различий изображений в приложении
  • Подмодули и поддержка Gitflow
  • Интеграция с учетной записью GitHub или Bitbucket

введите описание изображения здесь

ungit имеет сильную простоту использования и ориентированность на понятность (как следует из названия).

https://github.com/FredrikNoren/ungit

Установить:

npm install -g ungit

Он основан на Node.js и запускает сервер, который пользователи могут просматривать в браузере, поэтому он кроссплатформенный.

Не уверен, что он управляет SSH для пользователей, но я определенно вижу, как они это делают.

Этот графический интерфейс меня заинтриговал. Я не в восторге от того, что он построен на javascript (личное предубеждение, а не конец света), но визуальный интерфейс выглядит настолько идиотским, насколько это возможно для Git. Существует потрясающий учебник по Ungit, но, к сожалению, он на французском языке, тем не менее его стоит посмотреть только для того, чтобы визуально увидеть Ungit в действии.
Мне не понравилось, что он помещает каталог «node_modules» в мой репозиторий с тысячами файлов в нем. Почему?
@TamásSzelei никому не говори, но я на самом деле не пробовал ;-) Но это node_modulesособенно лечит? Разве то же самое не происходит с другими каталогами? Разве это не .gitignoreпроблема?
Это зависит от того, как вы на это смотрите. Конечно, вы можете gitignoreэто сделать, но я не хочу вносить изменения каждому пользователю этого репо только потому, что мой клиент git помещает (части?) свой исходный код в репо. Наверняка кто-нибудь спросит, какого черта я делаю с "node_modules" в проекте C++.
@TamásSzelei ах, хорошо, он действительно создает файлы, я думал, что он просто их показывает. Тогда отчёт об ошибке и ссылка на него ;-)

Я удивлен, что почти никто не упомянул о Git Extensions . Я использую его уже много лет и считаю его более удобным для пользователя, чем Tortoise Git.

Гит Кола

  • кроссплатформенность (Linux, Windows, OSX)
  • ФОСС
  • GitKraken рекламирует себя лучше, чем Git Cola

введите описание изображения здесь

Я использую его в качестве основного интерфейса git в Linux. Очень легко выполнять повседневные операции

  • Совершить
  • Вернуть последнюю локальную фиксацию (изменить описание, добавить недостающие изменения)
  • Зафиксировать изменения для выбранных строк (изолировать несвязанные изменения)
  • Просмотр журнала (включая инструмент DAG)

https://git-fork.com/

Недавно я перешел с Sourcetree на Fork . Это имя очень сложно найти в Google, но это отличное программное обеспечение. Киллер-функция для меня заключалась в том, что я мог хранить и применять определенные файлы, а не только все локальные изменения. Это не бесплатное программное обеспечение (50 долларов), но оно просто стыдит вас, как время от времени делает WinZip.

введите описание изображения здесь

Я много раз рекомендовал Fork до того, как цена выросла, и это хорошее программное обеспечение, но оно не соответствует конкретным требованиям этого вопроса.

Для справки: я так и не нашел ничего, что действительно соответствовало бы тому, что я искал в этом вопросе.

Моя текущая рекомендация, когда новичку нужен бесплатный графический интерфейс, — это GitAhead . У него есть несколько грубых краев, но это самая простая и чистая реализация с открытым исходным кодом, с которой я сталкивался. Он очень похож на Fork — ему немного не хватает полировки Fork, но и нет цены.