Графический клиент Git для Windows, позволяющий точно контролировать коммиты.

Пожалуйста, порекомендуйте клиент Git (GUI) для Windows с

  • Полная мощь git add -p, включая редактирование патчей.
  • Полная мощь git rebase --interactive, мне нравится редактировать/переименовывать/переупорядочивать старые коммиты.
Вы пробовали msysgit ?
@FranckDernoncourt позволяет редактировать патчи? Изменить порядок коммитов?
Переупорядочивание: вроде так: github.com/WANdisco/msysgit-git/blob/master/Documentation/…
@FranckDernoncourt Я знаю, что это git rebaseпозволяет изменять порядок коммитов :) Мой вопрос о графическом интерфейсе. Отредактировал вопрос для ясности.
Я считаю графический интерфейс черепахи очень полезным. Я не использовал его специально для вышеуказанного процесса, но варианты есть.
@neogeomat TortoiseGIT имеет опции для многих вещей, для которых у него есть только грубые интерфейсные оболочки. Работа с исправлениями и тому подобными вещами git add -p- это не то, что он делает изящно.
Вы попробовали клиент github? Я помню, что он был довольно надежным... windows.github.com
SmartGit позволяет очень легко редактировать/переупорядочивать/переименовывать/удалять коммиты из панели журнала.

Ответы (2)

Попробуйте Git Extensions — клиент Git для Windows, который поддерживает нужные вам функции.

Интерактивный ребазинг:

  • Вопрос о переполнении стека: интерактивная перебазировка с расширениями git

    По умолчанию расширения Git устанавливают ветку для перебазирования на ветку, над которой вы сейчас работаете. Итак, если вы не измените это, вам нечего делать, и вы получите это сообщение «noop». Вы должны перебазировать что-то, что не является вашим текущим HEAD. Либо это некоторое количество коммитов из вашей головы (например, HEAD~4), либо исходная версия вашей ветки (например, origin/master), либо конкретный именованный коммит.

  • Документация по ветвлению в расширениях Git

    Во время перебазирования могут возникнуть конфликты слияния. Вам необходимо разрешить конфликты слияния для каждой перебазируемой фиксации. Функция перебазирования в Git Extensions проведет вас через все шаги, необходимые для успешного перебазирования.

Интерактивное исправление:

  • Документация по исправлению в расширениях Git

    Можно применить один файл исправления или все исправления в каталоге. Когда возникают конфликты слияния при применении исправления, вам необходимо разрешить их, прежде чем вы сможете продолжить. Git Extensions поможет вам применить все исправления, отметив следующий рекомендуемый шаг.

Я определенно могу порекомендовать программное обеспечение Atlassian SourceTree для Windows. Раньше я использовал TortoiseCVS, GitHub (и их приложение для Windows) и просто Git с командной строкой, и мне нравится, как SourceTree делает вещи, которые должны быть быстрыми и простыми, с помощью кнопки, сохраняя при этом мощь git на расстоянии одного клика: кнопка на панели инструментов терминала .

Панель инструментов исходного дерева

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

Контекстное меню исходного дерева фиксации

Если вы обычно пытаетесь работать в соответствии с принципами GitFlow в том, как вы управляете своими ветками и фиксациями, вам понравится кнопка панели инструментов GitFlow , которая дает вам возможность запускать и завершать выпуски, функции, исправления и т. д. всего за пару кликов. .

Диалоговое окно SourceTree GitFlow

Если какое-то программное обеспечение заблокировано, чтобы вы могли использовать только собственную службу размещенного репозитория, SourceTree позволяет вам клонировать и работать с репозиторием с любого заданного URL-адреса. Он имеет некоторые функции, позволяющие быстро найти репозитории на BitBucket , GitHub и Stash , но если вы размещаете свой собственный репозиторий Git или хотите подключиться к другому размещенному репозиторию, он также должен работать нормально (я успешно клонировал и работал с Например, репозиторий SourceForge ранее в SourceTree).

Репозиторий клонов SourceTree

Пользовательский интерфейс приложения очень интуитивно понятен, красив и надежен/стабилен – все это важно для меня. Дисплеи проверки кода позволяют легко увидеть, что именно было изменено, и показывают изменения в «фрагментах» (группы изменений, расположенных близко друг к другу в файле), которые можно отдельно подготовить для фиксации или отбрасывания, вместо того, чтобы принимать решения на основе все изменения в файле. Цветовое кодирование полезно, а выбор файлов и прокрутка изменений выполняются быстро даже на моей рабочей станции Windows Vista с очень низкими характеристиками (я знаю, это шокирует).

Обзор изменений кода SourceTree

Понять историю коммитов легко благодаря прекрасному графическому отображению рядом с описаниями коммитов, а разрешение конфликтов стало проще простого.

Браузер фиксации исходного дерева

Надеемся, что этого достаточно, чтобы убедить вас попробовать и убедиться в том, что это соответствует вашим потребностям.

SourceTree довольно хорош. К сожалению, в текущей версии 3.3.6 все еще есть эта повторяющаяся проблема — community.atlassian.com/t5/Sourcetree-questions/… . Sourcetree больше не принимает изменения автоматически. Обходной путь — нажать f5 или переключиться между вкладками. НО, есть ли сопоставимая альтернатива sourcetree? GitKraken кажется хорошим, но слишком загроможденным, мало проблем и мало документов/курсов.
@MasterJoe2 Хотя я знаю, что приятно, что он всегда актуален, я обнаружил, что при работе с большими репозиториями исходного кода SourceTree чувствовал, что он перестает отвечать на запросы, когда он постоянно проверяет наличие изменений - как если бы он начал проверять наличие больше изменений, прежде чем он завершил предыдущую проверку и т. д., поэтому я отключил это автоматическое обновление, и я знаю, что многие другие сделали то же самое, и поэтому я привык нажимать F5, чтобы обновить список состояния файла с самого начала версия 3, но потом я привык делать это в веб-браузерах, чтобы видеть изменения веб-страницы и IDE для перекомпиляции.