- Андрей Куманяев/
- Git: руководства и команды/
- GitHub Desktop: Git с удобным интерфейсом — установка и основы/
GitHub Desktop: Git с удобным интерфейсом — установка и основы
GitHub Desktop — это официальный бесплатный графический интерфейс для работы с Git, разработанный командой GitHub. Если вы хотите работать с Git, но терпеть не можете командную строку, GitHub Desktop — идеальное решение.
Основные преимущества:
- Полностью бесплатен — никаких платных версий и подписок
- Интуитивный интерфейс — визуально показывает изменения в файлах
- Встроенная интеграция с GitHub — легко работать с pull request’ами
- Поддержка всех основных операций Git — commit, push, pull, branch, merge, rebase
- Доступен на Windows и macOS — к сожалению, официально нет версии для Linux
В этой статье мы разберём:
- Как установить GitHub Desktop
- Как выполнять основные операции без терминала
- Как работать с ветками и pull request’ами
- Когда стоит использовать GUI, а когда терминал
- Продвинутые операции и интеграция с другими инструментами
Установка #
Загрузка и установка на Windows #
- Перейдите на https://desktop.github.com/
- Нажмите на кнопку “Download for Windows”
- Должен загрузиться файл
GitHubDesktopSetup.exe - Запустите установщик и следуйте инструкциям
- GitHub Desktop установится и автоматически запустится
Размер установщика примерно 300 МБ. После установки вам не потребуется ничего больше — Git будет встроен в GitHub Desktop.
Загрузка и установка на macOS #
- Посетите https://desktop.github.com/
- Нажмите на кнопку “Download for macOS”
- Загрузится файл
GitHubDesktop.zip - Распакуйте архив
- Перетащите приложение
GitHub Desktopв папкуApplications - Откройте приложение из Applications
Системные требования #
Windows:
- Windows 10 21H2 или новее (64-bit)
- Минимум 4 ГБ RAM
- .NET Framework 4.5+
macOS:
- macOS 11.0 (Big Sur) или новее
- Intel или Apple Silicon (M1/M2/M3)
Авторизация в GitHub #
При первом запуске GitHub Desktop попросит вас авторизоваться:
File → Options → Accounts
- Нажмите “Sign in”
- Выберите “Sign in with browser”
- GitHub откроется в браузере
- Авторизуйтесь с вашей учётной записью GitHub
- GitHub Desktop получит необходимые разрешения
После авторизации вы сможете работать с вашими приватными репозиториями без ввода пароля.
Первые шаги #
Клонирование репозитория #
Один из самых частых первых шагов — скопировать существующий репозиторий с GitHub:
- Нажмите File → Clone Repository
- Во вкладке “GitHub.com” увидите список ваших репозиториев
- Выберите репозиторий
- Выберите локальную папку для сохранения
- Нажмите “Clone”
GitHub Desktop загрузит весь репозиторий и автоматически откроет его.
Создание нового репозитория #
Если вы начинаете новый проект:
- File → New Repository
- Введите имя репозитория, например:
my-first-project - Введите описание (опционально)
- Выберите локальную папку
- Нажмите “Create Repository”
Готово! В папке будет создан .git файл, и репозиторий готов к использованию.
Добавление существующего локального репозитория #
Если у вас уже есть проект с .git папкой:
- File → Add Local Repository
- Выберите папку проекта
- GitHub Desktop откроет репозиторий
Основной рабочий процесс #
Вот типичный день разработчика с GitHub Desktop:
Шаг 1: Просмотр изменений #
Когда вы редактируете файлы в проекте, GitHub Desktop автоматически замечает изменения. Перейдите на вкладку Changes:
┌─ Changes ─────────────────────────────┐
│ ✓ file1.py (M - Modified) │
│ ✓ file2.js (M - Modified) │
│ ✓ README.md (M - Modified) │
│ │
│ Справа видны различия между │
│ старой и новой версией файла │
└──────────────────────────────────────┘
Для каждого файла видно:
- Чёрный квадрат → удалённая строка
- Зелёный квадрат → добавленная строка
- Белое пространство → без изменений
Шаг 2: Выбор файлов для коммита #
В левой части вкладки Changes вы видите список файлов. По умолчанию все файлы отмечены галочками (✓). Это значит, что все изменения пойдут в следующий коммит.
Вы можете отменить галочку у файлов, которые не хотите включать:
☑ file1.py ← будет в коммите
☐ file2.js ← НЕ будет в коммите
☑ README.md ← будет в коммите
Шаг 3: Написание сообщения и создание коммита #
В нижней части окна находится форма для создания коммита:
┌─────────────────────────────────────┐
│ Summary (required) │
│ ┌─────────────────────────────────┐ │
│ │ Исправлена ошибка в парсере │ │
│ └─────────────────────────────────┘ │
│ │
│ Description (optional) │
│ ┌─────────────────────────────────┐ │
│ │ - Добавлена проверка на None │ │
│ │ - Улучшена обработка ошибок │ │
│ └─────────────────────────────────┘ │
│ │
│ ┌──────────────────────┐ │
│ │ Commit to main │ │
│ └──────────────────────┘ │
└─────────────────────────────────────┘
- Напишите краткое описание (Summary) — это обязательно
- Добавьте подробное описание (Description) — опционально
- Выберите ветку, в которую делаете коммит (обычно
mainилиdevelop) - Нажмите Commit to [branch]
Коммит создан локально! Но он ещё не отправлен на сервер.
Шаг 4: Отправка на сервер (Push) #
Чтобы отправить коммит на GitHub:
- Нажмите кнопку Push origin в верхней части окна (или Repository → Push)
- GitHub Desktop отправит ваш коммит на сервер
- Вы увидите сообщение об успехе
# Эквивалент в терминале:
git push origin main
Работа с ветками #
Создание новой ветки #
Один из главных принципов современной разработки — каждая фишка или исправление должны быть на отдельной ветке. В GitHub Desktop это очень просто:
- Нажмите на текущую ветку в верхней части окна (обычно показывает
main) - Нажмите кнопку New Branch
- Введите имя новой ветки, например:
feature/user-authentication - Выберите, на основе какой ветки создавать (обычно
main) - Нажмите Create Branch
Теперь вы на новой ветке. Все ваши коммиты будут идти в эту ветку, не влияя на main.
Переключение между ветками #
Чтобы переключиться на другую ветку:
- Нажмите на текущую ветку
- Выберите нужную ветку из списка
- GitHub Desktop переключит рабочую директорию
Это эквивалент команды git checkout [branch] в терминале.
Публикация ветки на сервер #
Когда вы создали ветку локально, она ещё не видна на GitHub. Чтобы опубликовать её:
- В верхней части нажмите Publish branch
- GitHub Desktop создаст эту ветку на сервере
После этого другие разработчики смогут видеть вашу ветку и работать с ней.
Создание Pull Request из GitHub Desktop #
Когда ваша фишка готова к review:
- Убедитесь, что все коммиты уже отправлены (
Push origin) - Нажмите на кнопку Create Pull Request
- GitHub откроется в браузере с формой для создания PR
- Заполните название и описание
- Нажмите Create pull request
GitHub Desktop упрощает этот процесс, открывая браузер в нужном месте.
Просмотр истории #
История коммитов #
Перейдите на вкладку History, и вы увидите список всех коммитов в текущей ветке:
┌────────────────────────────────────┐
│ 📝 abc1234 | Исправлена ошибка │
│ автор: Ivan Petrov │
│ дата: сегодня в 15:30 │
├────────────────────────────────────┤
│ 📝 def5678 | Добавлена функция │
│ автор: Maria Smirnova │
│ дата: вчера в 10:00 │
├────────────────────────────────────┤
│ 📝 ghi9012 | Первоначальный коммит│
│ автор: Alexander Ivanov │
│ дата: 2 недели назад │
└────────────────────────────────────┘
Просмотр изменений в коммите #
Кликните на коммит, и справа увидите все файлы, которые были изменены:
Изменения в abc1234:
- parser.py (+ 5 строк, - 2 строки)
- config.json (+ 1 строка, - 1 строка)
Кликните на файл, и увидите точные различия между версиями.
Откат (Revert) коммита #
Если нужно отменить коммит:
- Нажмите правой кнопкой на коммит
- Выберите Revert This Commit
- GitHub Desktop создаст новый коммит, который отменяет изменения
# Эквивалент в терминале:
git revert abc1234
Создание ветки из коммита #
Если вы хотите создать новую ветку, начиная с какого-то старого коммита:
- Нажмите правой кнопкой на коммит
- Выберите Create Branch from Commit
- Введите имя новой ветки
Синхронизация с удалённым репозиторием #
GitHub Desktop помогает синхронизировать вашу работу с сервером:
Fetch origin #
Загружает информацию о том, какие новые коммиты есть на сервере:
Repository → Fetch
Это проверит, есть ли новые коммиты от коллег. Ваши локальные файлы не изменятся.
Pull origin #
Загружает новые коммиты и объединяет их с вашей локальной веткой:
Repository → Pull
Используйте это, когда коллеги отправили новые коммиты и вы хотите их получить.
Push origin #
Отправляет ваши коммиты на сервер:
Repository → Push
Это делает вашу работу видимой другим разработчикам.
Pull With Rebase (продвинутое) #
Вместо обычного merge, GitHub Desktop может использовать rebase для более чистой истории:
Repository → Pull → Pull with Rebase
Это переупорядочивает ваши локальные коммиты так, чтобы они были после коммитов с сервера.
GitHub Desktop vs командная строка vs VS Code #
Давайте сравним три способа работы с Git:
| Операция | GitHub Desktop | Командная строка | VS Code |
|---|---|---|---|
| Просмотр изменений | ✓ Отлично | ✓ Хорошо | ✓ Отлично |
| Commit | ✓ Простой UI | ✓ Гибкий | ✓ Встроено |
| Create branch | ✓ Один клик | ~ Надо помнить синтаксис | ✓ Удобно |
| Merge branches | ✓ Визуально | ✓ Мощно | ~ Надо терминал |
| Rebase | ~ Ограничено | ✓ Полный контроль | ~ Требует знаний |
| Resolving conflicts | ✓ Визуально | ~ Текстовый редактор | ✓ Хорошо |
| Cherry-pick | ✗ Не поддерживает | ✓ Полностью | ✗ Нет UI |
| Advanced history editing | ✗ Нет | ✓ Да | ✗ Нет |
| Кому подходит | Новичкам | Профессионалам | Среднему уровню |
Выводы:
- GitHub Desktop — для новичков и простых операций
- VS Code с GitLens — для разработчиков, которые уже знают основы Git
- Командная строка — для опытных пользователей и сложных операций
Продвинутые операции #
Stash (временное сохранение) #
Если вы вносили изменения, но потом поняли, что нужно переключиться на другую ветку:
Repository → Stash Changes
Это временно сохраняет ваши изменения. Позже вы сможете их восстановить:
Repository → Pop Stashed Changes
Открытие терминала из GitHub Desktop #
Для операций, которых нет в GUI, GitHub Desktop позволяет открыть терминал:
Repository → Open in Terminal
Терминал откроется в корневой папке проекта, и вы сможете выполнить любую команду Git.
Открытие в редакторе #
Если вы предпочитаете редактировать файлы в вашем любимом редакторе:
Repository → Open in [Your Editor]
Если редактор установлен (VS Code, Visual Studio, Sublime Text), он откроется с проектом.
FAQ #
Вопрос 1: GitHub Desktop полностью бесплатен?
Да, полностью и навсегда. GitHub Desktop — это open-source проект, разработанный командой GitHub. Никаких скрытых платежей, подписок или ограничений функциональности.
Вопрос 2: Поддерживает ли GitHub Desktop GitLab и Bitbucket?
Официально — только GitHub. Однако GitHub Desktop использует стандартный Git, поэтому технически вы можете работать с любым хостингом (добавив репозиторий вручную). Но UI оптимизирован для GitHub.
Вопрос 3: Можно ли делать rebase в GitHub Desktop?
Ограничиченно. GitHub Desktop поддерживает простой rebase:
Branch → Rebase Current Branch
Но для интерактивного rebase (squash, reorder commits) потребуется терминал.
Вопрос 4: Где найти терминал в GitHub Desktop?
Repository → Open in Terminal
Или быстрый способ: нажмите Ctrl+ (на Windows) или Cmd+ (на Mac).
Вопрос 5: Что делать, если GitHub Desktop конфликтует с другим Git клиентом?
GitHub Desktop использует встроенный Git, поэтому конфликтов не будет. Но если вы переходите с другого клиента (например, Git Bash), потребуется переавторизация для работы с приватными репозиториями. Просто повторно авторизуйтесь через GitHub Desktop.
Заключение #
GitHub Desktop — отличный выбор для разработчиков, которые:
- Только начинают работать с Git и GitHub
- Предпочитают визуальный интерфейс вместо командной строки
- Выполняют простые операции (commit, push, pull, создание веток)
- Хотят быстро делать pull request’ы
Однако, когда вы освоитесь и столкнётесь с более сложными операциями, рекомендуется:
- Изучить VS Code с расширением GitLens для большей функциональности
- Освоить командную строку для полного контроля над Git
GitHub Desktop идеально подходит как первый шаг в мир системы контроля версий. Это стирает барьер для новичков и позволяет сосредоточиться на том, чтобы делать хорошую работу, а не бороться с синтаксисом командной строки.
Дополнительная информация о других инструментах для работы с Git доступна в статьях /ru/git/interfejs-git/ и /ru/git/kak-sozdat-repozitorij-github/.