что такое git gui
Если вы прочитали всю книгу, то много узнали об использовании Git в командной строке. Вы можете работать с локальными файлами, синхронизировать свой репозиторий с чужими по сети и эффективно работать с другими людьми. Но это ещё не всё; Git обычно используется как часть большей экосистемы и терминал это не всегда лучший способ работы с ним. Рассмотрим несколько других окружений где Git может быть полезен и как другие приложения (включая ваши) работают с ним.
Графические интерфейсы
Родная среда обитания Git — это терминал. Новые функции изначально доступны только там и лишь терминал поможет вам полностью контролировать всю мощь Git. Но текстовый интерфейс — не лучший выбор для всех задач; иногда графическое представление более предпочтительно, а некоторые пользователи чувствуют себя комфортней, орудуя мышкой.
Также стоит понимать, что разные интерфейсы служат разным целям. Некоторые Git клиенты ограничиваются лишь той функциональностью, которую их автор считает наиболее востребованной или эффективной. Учитывая это, ни один из представленных ниже инструментов не может быть «лучше» остальных: они просто предназначены для решения разных задач. Также стоит помнить, что всё, что можно сделать с помощью графического интерфейса, может быть выполнено и из консоли; командная строка по прежнему является местом, где у вас больше всего возможностей и контроля над вашими репозиториями.
gitk и git-gui
Проще всего вызвать Gitk из командной строки: Просто перейдите в каталог с репозиторием и наберите:
И его интерфейс выглядит так:
Слева находится область редактирования Git индекса: изменения в рабочем каталоге наверху, добавленные в индекс изменения — снизу. Вы можете перемещать файлы целиком между двумя состояниями, кликая на иконки, или же вы можете просмотреть изменения в конкретном файле, кликнув по нему.
Справа вверху расположена область просмотра изменений выделенного файла. Можно добавлять отдельные кусочки или строки в индекс из контекстного меню в этой области.
Справа снизу находится область для ввода сообщения коммита и несколько кнопок. Введите сообщение и нажмите кнопку «Commit» чтобы выполнить коммит. Также можно изменить предыдущий коммит, выбрав радиокнопку «Amend», что приведёт к обновлению индекса содержимым предыдущего коммита. После этого вы можете как обычно добавлять или удалять файлы из индекса, изменить сообщение коммита и, нажав кнопку «Commit» создать новый коммит, заменив им предыдущий.
gitk и git-gui — это примеры инструментов, ориентированных на задачи. Каждый из них наиболее подходит для решения определённой задачи (просмотр истории или создание коммитов соответственно) и не поддерживает дополнительные функции Git, ненужные для её решения.
GitHub для Mac и Windows
Компания GitHub выпустила два инструмента, ориентированных на рабочий процесс, а не на конкретные задачи: один для Windows, второй — для Mac. Эти клиенты — хороший пример процесс-ориентированного ПО: вместо предоставления доступа ко всей функциональности Git, они концентрируются на небольшом наборе фич, работающих вместе для достижения цели. Выглядят они примерно так:
Они спроектированы по одному шаблону, поэтому мы будет рассматривать их как один продукт в этой главе. Мы не будем разбирать по косточкам эти инструменты (в конце-концов у них есть документация), а лишь быстренько взглянем на экран изменений (место, где вы будете зависать больше всего).
Слева расположен список отслеживаемых репозиториев; можно добавить репозиторий (клонировав его, либо указав путь к существующей копии) нажатием кнопки + над списком.
В центре экрана расположена область редактирования коммита: тут можно ввести сообщение коммита и выбрать файлы для включение в него. (На Windows, история коммитов расположена под этой областью, на Mac это отдельная вкладка.)
Справа — просмотр изменений: что изменилось в рабочем каталоге, какие изменения войдут в коммит.
И стоит обратить внимание на кнопку «Sync» справа вверху, которая используется для синхронизации по сети.
Необязательно регистрироваться на GitHub, чтобы работать с этими инструментами. Хотя они навязывают использование GitHub, оба инструмента прекрасно работают с любым другим Git сервером.
Установка
GitHub для Windows можно скачать на https://windows.github.com, а для Mac — на https://mac.github.com. При первом запуске обе программы проведут первоначальную настройку Git, например, сконфигурируют ваше имя и email, а также установят разумные значения по умолчанию для распространённых опций типа CRLF-поведение и хранилище паролей.
Оба инструмента поддерживают автообновление в фоне — это означает, что у вас всегда будет последняя версия. Это также относится к поставляемому в комплекте с ними Git — вам никогда не придётся обновлять его вручную. На Windows вы также получаете ярлык для запуска PowerShell с Posh-Git, который мы рассмотрим далее в этой главе.
Следующий шаг — скормить программе парочку репозиториев для работы. Клиент для GitHub показывает список репозиториев, доступных вам на GitHub, и вы можете клонировать любой в один клик. Если же у вас уже есть клонированный репозиторий, просто перетяните его из окна Finder (или Windows Explorer) в окно клиента GitHub, и он будет включён в список репозиториев слева.
Рекомендуемый рабочий процесс
После установки GitHub клиент можно использовать для решения кучи стандартных задач. Рекомендуемый ниже подход к работе иногда называют «GitHub Flow». Мы рассмотрели этот рабочий процесс в разделе Рабочий процесс с использованием GitHub главы 6, но вкратце, важны два момента: (а) вы коммитите в отдельные ветки и (б) вы регулярно забираете изменения с удалённого репозитория.
Управление ветками слегка различается на Mac и Windows. В Mac версии для создания ветки есть кнопка вверху окна:
На Windows создание ветки происходит путём ввода её имени в переключатель веток:
После создания ветки добавление коммитов в неё довольно тривиально. Измените что-нибудь в рабочем каталоге и, переключившись в окно клиента GitHub, вы увидите свои изменения. Введите сообщение коммита, выберете файлы для включения в коммит и нажмите кнопку «Commit» (ctrl-enter или ⌘-enter).
Взаимодействие с удалёнными репозиториями происходит в первую очередь посредством кнопки «Sync». В Git есть отдельные команды для отправки изменений на сервер, слияния изменений воедино и перемещения веток друг относительно друга, но клиент GitHub совмещает все эти команды в одну. Вот что происходит когда вы жмёте «Sync»:
Это довольно привычный, но рутинный процесс при работе по «GitHub Flow», совмещение команд воедино действительно экономит время.
Заключение
Перечисленные инструменты отлично решают поставленные перед ними задачи. С их помощью разработчики (и не только) могут начать совместную работу над проектами в считанные минуты, причём с настроенным рабочим процессом. Но если вы придерживаетесь иных подходов к использованию Git, или если вам нужно больше контроля над происходящим, мы рекомендуем вам присмотреться к другим клиентам, а то и вовсе к командной строке.
10 лучших GUI-клиентов Git для разработчиков
Перевод статьи «Top 10 Best GUI Git Client for Developers».
Git — это система контроля версий для отслеживания изменений в файлах. Обычно используется в командной работе, особенно в среде программистов.
Несмотря на то, что многие пользователи вполне комфортно себя чувствуют, пользуясь Git при помощи командной строки, для этого инструмента есть достаточное количество графических интерфейсов. Эти GUI-клиенты способны существенно ускорить вашу работу с системой контроля версий, особенно, если вы еще не слишком хорошо с ней знакомы.
(Примечание редакции. Любопытно, что на сайтах вопросов и ответов многие отмечают, что использование GUI сильно упрощает рутинную работу, когда вы уже хорошо знакомы с принципом работы и командами Git).
Если вы ищете идеальный графический интерфейс для управления своим репозиторием на Mac, Windows или Linux, вам повезло: сейчас мы вам расскажем о лучших GUI-клиентах Git.
1. GitHub Desktop
GitHub Desktop это совершенно бесплатное приложение с открытым исходным кодом, разработанное GitHub. С его помощью можно взаимодействовать с GitHub (что и не удивительно), а также с другими платформами (включая Bitbucket и GitLab).
Функционал приложения позволяет легко замечать пул-реквесты в ветках, а также просматривать различия в версиях изображений и блоков кода. При этом элементы для дальнейшего управления можно добавлять в приложение даже путем перетаскивания.
Приложение доступно для macOS и Windows.
2. Fork
Fork это весьма продвинутый GUI-клиент для macOS и Windows (с бесплатным пробным периодом). В фокусе этого инструмента скорость, дружественность к пользователю и эффективность. К особенностям Fork можно отнести красивый вид, кнопки быстрого доступа, встроенную систему разрешения конфликтов слияния, менеджер репозитория, уведомления GitHub.
С помощью этого инструмента вам будут доступны интуитивный rebase в красивом UI, GIT LFS, cherry-pick, подмодули и многое другое.
3. Tower
Tower это платный графический интерфейс Git для macOS и Windows. В настоящее время это один из ведущих профессиональных инструментов подобного типа. С его помощью вы сможете лучше познакомиться с системой контроля версий. Вам будут доступны в визуальном представлении все действия, которые можно совершать в Git. Сюда входит и разрешение конфликтов слияния, и совместная работа над проектами.
Есть бесплатный пробный период.
4. Sourcetree
Sourcetree это бесплатный GUI Git для macOS и Windows. Его применение упрощает работу с контролем версий и позволяет сфокусироваться на действительно важных задачах.
Красивый пользовательский интерфейс дает возможность прямого доступа к потокам Git. К вашим услугам локальный поиск по коммитам, интерактивный rebase, менеджер удаленных репозиториев, поддержка больших файлов. Все происходящее вы можете видеть наглядно, а это очень облегчает понимание процессов.
Sourcetree был разработан Atlassian для Bitbucket, но вполне может использоваться в сочетании с другими Git-платформами. Имеет встроенную поддержку Mercurial-репозиториев.
5. SmartGit
SmartGit это Git-клиент для Mac, Linux и Windows. Имеет богатый функционал. Поддерживает пул-реквесты для SVN, GitHub и Bitbucket. В арсенале SmartGit вы найдете CLI для Git, графическое отображение слияний и истории коммитов, SSH-клиент, Git-Flow, программу для разрешения конфликтов слияния.
SmartGit может использоваться бесплатно в некоммерческих проектах.
6. Sublime Merge
Sublime Merge это клиент Git для Mac, Windows и Linux. Это детище тех же разработчиков, которые создали редактор кода Sublime Text.
Sublime Merge отличается высокой производительностью, а также отличным функционалом для слияния, поиска, просмотра различий между версиями. Базовой версией можно пользоваться бесплатно.
7. GitKraken
GitKraken это кроссплатформенный GUI Git для использования с различными платформами контроля версий (включая GitHub, Bitbucket, GitLab). Его цель — повысить вашу продуктивность в использовании Git. Для этого вам предоставляется интуитивный UI, возможность отслеживать задачи, встроенный редактор кода, редактор конфликтов слияния и поддержка интеграции с другими платформами.
Коммерческое использование платное. Также придется купить Pro-версию, если хотите получить расширенный функционал.
Доступен для Mac, Windows и Linux.
8. GitUp
GitUp это бесплатный (open-source) клиент Git для пользователей Mac. В этом инструменте упор сделан на скорость, простоту, эффективность и легкость использования. Он позволяет вам напрямую взаимодействовать с базой данных хранилища, в результате чего работает куда быстрее аналогов.
В GitUp вы найдете графическую альтернативу для всех функций Git и интуитивно понятную реализацию команд ввода.
9. Aurees Git Client
Это бесплатное приложение для использования Git на Mac, Windows и Linux. Создано оно для ускорения работы, связанной с контролем версий.
Здесь вы найдете отличный функционал для просмотра и редактирования разницы в версиях (с подсветкой), предварительный просмотр слияния версий, хорошую систему разрешения конфликтов слияния.
10. GitBlade
GitBlade — это красивый клиент Git для платформ Mac, Windows и Linux. В нем вы найдете все функции, необходимые в ежедневной работе с Git-проектами (инструменты merge, визуальное отображение связанных веток и коммитов, режим просмотра различий между версиями, визуализация истории файла).
Всеми базовыми функциями можно пользоваться бесплатно (а более продвинутыми — 14 дней пробного периода).
Это была десятка лучших клиентов Git с графическим интерфейсом. Все они подходящи для использования в Mac, большинство — в Windows и лишь некоторые — в Linux. Мы (редакция Techrocks) решили исправить эту небольшую несправедливость и добавить парочку клиентов Git для Ubuntu, которые не вошли в общий список. Описания — из статьи «Best 10 Git GUI Clients for Ubuntu».
11. Git Cola
Git Cola это совершенно бесплатный клиент Git для Ubuntu и других дистрибутивов Linux, а также Windows и macOS. Один из самых лучших и быстрых инструментов такого типа. Он прост в работе, но отлично справляется со всеми основными задачами, возникающими при работе с версиями.
12. GitEye
GitEye — простой в использовании клиент Git с графическим интерфейсом, созданный CollabNet. Поставляется в комплекте с несколькими инструментами, помогающими повысить продуктивность разработки ПО. Например, Gerrit Code Review выводит уведомления об изменениях или обновлениях в коде.
GitEye имеет понятный и очень мощный интерфейс, в котором все так хорошо продуманно, что пользователю не придется долго искать нужные функции.
Этот клиент Git хорошо интегрируется с другими популярными инструментами, такими как Bugzilla, Jira, Hudson, Jenkins и пр.
Есть версии для Windows, Linux и Mac.
И напоследок — графический пользовательский интерфейс в виде сайта.
13. UnGit
Этим GUI вы можете пользоваться на любой платформе. После установки UnGit запускает локальный веб-сервер, прослушивающий отдельный порт. Благодаря этому вы получаете интерактивную веб-страницу для вашего репозитория, которую можете открыть в любимом браузере.
UnGit также доступен в виде плагинов для Atom и Sublime Text.
Несмотря на то, что все приложения, о которых мы рассказали, обладают схожим функционалом, каждое из них имеет свои отличительные особенности. Эти особенности позволяют им выделяться среди аналогов в какой-то отдельной области, так что каждый разработчик сможет подобрать подходящий инструмент для своих нужд.
Лучшие инструменты и расширения Git GUI в 2020
Упрощение Git с помощью потрясающих инструментов GUI и расширений IDE.
Новички обычно начинают с терминальных команд Git, чтобы понять основы Git. Хотя это хорошая идея, чтобы узнать терминальные команды Git, вы можете чувствовать себя утомительно, когда возвращаетесь к терминалу для довольно простой задачи, как фиксация или толчок.
В этой статье мы расскажем об основных инструментах и расширениях Git GUI, чтобы упростить такие простые задачи в Git и тем самым повысить эффективность вашего рабочего процесса.
Во-первых, мы рассмотрим некоторые вещи, о которых нужно знать, прежде чем использовать инструменты и расширения. Далее мы рассмотрим популярные расширения Git для популярных текстовых редакторов, Sublime Text и Atom. Наконец, мы познакомимся с тремя популярными инструментами Git GUI.
Независимое управление версиями компонентов JavaScript
Благодаря таким инструментам, как Bit, вы можете создавать версии отдельных компонентов поверх вашего «обычного» управления версиями на уровне РЕПО.
Это отличный способ максимизировать повторное использование кода (в репозиториях и между ними), ускорить разработку и создать более поддерживаемую кодовую базу.
Компоненты, опубликованные в Bit.dev, также могут быть клонированы (в виде исходного кода) в любой проект, где они могут быть изменены и опубликованы обратно в Bit.dev с измененной версией. Это означает, что сотрудничество больше не ограничено границами вашего хранилища.
Замечание об инструментах и расширениях Git GUI
Прежде чем вы решите использовать эти инструменты и расширения на постоянной основе, давайте сделаем шаг назад и рассмотрим преимущества и недостатки. Инструменты и расширения Git GUI обеспечивают фантастический способ быстрого и эффективного выполнения действий Git. Они предлагают преимущество визуальной демонстрации различий и истории проекта, что, безусловно, сложно продемонстрировать на терминале. Инструменты и расширения Git GUI легко интегрируются в ваш рабочий процесс без необходимости переключаться между текстовым редактором и терминалом.
Хотя они предлагают множество преимуществ, существуют потенциальные проблемы, о которых вам следует знать. Во-первых, эти инструменты и расширения могут предложить только определенное количество функций Git — сложные действия, такие как cherry-pick, все еще могут выполняться только на терминале. Поэтому хорошей идеей является изучение команд терминала Git. Кроме того, изучение каждого из этих инструментов становится проще, если вы знаете, как Git работает в фоновом режиме с помощью команд терминала. Далее, терминальные команды часто выполняются быстрее, поскольку между выполнением и отображением результатов нет никакой задержки. Наконец, самым большим сдерживающим фактором для того, чтобы полагаться исключительно на эти инструменты, является то, что их пользовательский интерфейс может быть непоследовательным для разных платформ и версий.
Поэтому мы предлагаем вам использовать инструменты и расширения Git GUI только после того, как вы освоитесь с командами терминала. В этом посте мы продемонстрируем, как выполнять обычные задачи Git с помощью этих инструментов и расширений.
1. Расширение Git для Sublime Text
После установки расширения откройте корневой каталог репозитория Git. Выберите Ctrl/Cmd + Shift + p и начните вводить любую команду Git. Например, чтобы проверить изменения в вашем текущем репозитории, введите git diff и нажмите ввод. Вывод команды открывается в виде новой вкладки.
При выборе одной фиксации в истории проекта сведения о ней открываются на новой вкладке.
Расширенные команды, такие как git blame также включены в этом расширении Git.
2. Встроенное расширение Git в Atom
В этом меню, когда вы выбираете вкладку Git, вы можете видеть не поэтапные изменения, файлы и поэтапные изменения. Вы можете перейти к этапу изменений и создать фиксацию с сообщением.
Вы можете изменить активную ветку или создать новую из опций в правом нижнем углу. Вы также можете обновить свой текущий репозиторий с пульта.
После того как вы создали фиксацию, вы можете отправить любые новые изменения из пользовательского интерфейса Atom из опций в правом нижнем углу.
Хотя эти основные команды, связанные с Git, легко выполнимы в Atom, вы можете переключиться на вкладку GitHub, чтобы создать запрос на вытягивание, если у вас есть новые фиксации, которые перенаправят вас на ссылку на GitHub, сравнивая изменения между ветвями.
3. GitHub Desktop
Хотя мы проверили расширения Git для двух популярных текстовых редакторов, давайте перейдем к инструментам Git GUI. Эти инструменты предоставляют немного больше свободы по сравнению с расширениями текстового редактора, поскольку их пользовательский интерфейс специально создан для этой цели.
Обратите внимание, что пользовательский интерфейс изменений в GitHub Desktop похож на интерфейс Atom. Существует две категории файлов для поэтапных и неустановленных изменений. Различие каждого выбранного файла показано справа. Выберите файлы для подготовки к фиксации и введите сообщение о фиксации, чтобы создать фиксацию.
В верхней части есть три варианта выбора хранилища, текущей ветки и действия для обновления хранилища с origin удаленного компьютера. Третья кнопка изменяется, чтобы нажать изменения, origin когда вы создаете фиксацию.
Переход на вкладку истории показывает историю проекта. Тем не менее, он показывает только историю одной ветви и не показывает связи между несколькими ветвями.
4. SourceTree
Состояние хранилища выглядит аналогично состоянию GitHub Desktop с точки зрения промежуточной и неотмеченной области, различий в выбранном файле и возможности ввода сообщения фиксации в том же окне.
История проекта намного лучше в этом инструменте. Связи между ветвями и циклами, созданными слиянием, все отображаются, когда вы нажимаете на опцию истории в левом меню.
Кнопки сверху позволяют выполнять простые операции в Git. Вы можете фиксировать изменения, управлять филиалами и удаленными пользователями, и даже создавать тайник в Git из верхнего меню.
Расширенные параметры, такие как теги, подмодули и поддеревья, также доступны в SourceTree.
Последние мысли
В этой статье мы рассмотрели базовое использование двух расширений Git для популярных текстовых редакторов и двух популярных инструментов Git GUI. Мы также обсудили плюсы и минусы инструментов с графическим интерфейсом и почему они должны служить дополнением к командам терминала Git для повышения эффективности вашего рабочего процесса Git.