GitHub Desktop documentation
With GitHub Desktop, you can interact with GitHub using a GUI instead of the command line or a web browser. You can use GitHub Desktop to complete most Git commands from your desktop, such as pushing to, pulling from, and cloning remote repositories, attributing commits, and creating pull requests, with visual confirmation of changes.
Начните здесь
Создание первого репозитория с помощью GitHub Desktop
Установка GitHub Desktop
Проверка подлинности на GitHub в GitHub Desktop
Популярное
Клонирование и создание ветки для репозиториев из GitHub Desktop
Управление ветвями в GitHub Desktop
Синхронизация ветви в GitHub Desktop
Создание проблемы или запрос на вытягивание из GitHub Desktop
Новые возможности
Guides
Сохранение изменений в GitHub Desktop
With GitHub Desktop, you can interact with GitHub using a GUI instead of the command line or a web browser. You can use GitHub Desktop to complete most Git commands from your desktop, such as pushing to, pulling from, and cloning remote repositories, attributing commits, and creating pull requests, with visual confirmation of changes.
Отмена фиксации в GitHub Desktop
With GitHub Desktop, you can interact with GitHub using a GUI instead of the command line or a web browser. You can use GitHub Desktop to complete most Git commands from your desktop, such as pushing to, pulling from, and cloning remote repositories, attributing commits, and creating pull requests, with visual confirmation of changes.
Изменение фиксации в GitHub Desktop
Для изменения последней фиксации можно использовать GitHub Desktop.
Выбор фиксации в GitHub Desktop
With GitHub Desktop, you can interact with GitHub using a GUI instead of the command line or a web browser. You can use GitHub Desktop to complete most Git commands from your desktop, such as pushing to, pulling from, and cloning remote repositories, attributing commits, and creating pull requests, with visual confirmation of changes.
Практическое занятие «Используем клиент GitHub для десктопа»
Хотя большинство разработчиков используют командную строку при работе с системами контроля версий, существует много доступных клиентов с графическим интерфейсом, которые потенциально могут упростить процесс. Такие инструменты могут быть полезны, когда нужно увидеть, что изменилось в файле, поскольку графический интерфейс пользователя может быстро выделить и указать на происходящие изменения.
Типичный процесс использования десктопного клиента
В этом разделе мы научимся использовать десктопный клиент GitHub для управления процессом Git.
Note: Вместо работы в Wiki GitHub (как делали в предыдущем разделе по GitHub ), будем работать в обычном Git-репозитории. В Wiki GitHub есть некоторые ограничения, когда дело касается отправки запросов.
Для настройки репозитория Git используя клиента GitHub Desktop:
- Скачаем и установим GitHub Desctop. Запускам приложение и авторизуемся. (По идее у нас уже есть аккаунт на GitHub, но есть нет, то создаем его).
- Заходим на страницу github.com и ищем наш репозиторий, созданный в предыдущем разделе. Открываем именно репозиторий, а не страницу Wiki. (Если не практические занятия из прошлого раздела не сделаны, то создаем новый репозиторий).
- Нажимаем кнопку Clone or download и выбираем Open on desktop

- Открываем приложение GitHub Desktop и переходим в File > Clone Repository .
- В диалоговом окне выбираем Open GitHub Desktop.app. GitHub Desktop должен запуститься с диалоговым окном «Клонировать репозиторий», содержащим запрос, где клонировать репозиторий. При желании локальный путь можно изменить.
- Переходим на вкладку URL и вставляем URL-адрес клона. В поле Local Path выбираем, куда клонировать репозиторий. Например:

- Нажимаем Clone
- Переходим в клонированный репозиторий и, либо добавляем простой текстовый файл с некоторым содержимым, либо вносим изменения в существующий файл.
- Возвращаемся в GitHub Desktop. Видим, что новый файл добавлен список незафиксированных изменений в левой колонке.

В списке измененных файлов зеленый знак + означает добавление нового файла. Желтый круг означает изменения существующего файла.
- В левом нижнем углу клиента GitHub Desktop (где написано Summary и Description) вводим описание коммита и кликаем Commit to master.
Когда мы фиксируем изменения, на левой панели исчезает список незафиксированных изменений. Однако изменения мы зафиксировали только локально. Коммит еще нужно отправить в удаленный (origin) репозиторий. («Origin» — это псевдоним, который относится к удаленному хранилищу.)

- Наверху кликаем Push origin
Если посмотреть репозиторий в сети, то увидим, что внесенные изменения были перенесены в основную ветку в источнике. Можно перейти на вкладку History в клиенте GitHub Desktop (вместо вкладки Changes) или перейти в меню View > Show History, чтобы просмотреть ранее внесенные изменения.
Note: Многие предпочитают использовать терминал вместо графического интерфейса GitHub для рабочего стола, графический интерфейс упрощает визуальное восприятие изменений, внесенных в репозиторий. При желании можно комбинировать использование командной строки и клиента рабочего стола.
Создание ветки
Теперь создадим ветку, внесем изменения и посмотрим как влияют изменения на ветку.

- В GitHub Desktop переходим в Branch > New Branch и создаем новую ветвь. Назовем ее «development» и нажмем Create Branch.
После создания ветки, в центре раскрывающееся меню будет указывать на ту ветку, в которой мы работаем. Создание ветки копирует существующий контент (из ветки master) в новую ветку (development).

- Откроем файл, которые ранее создали и внесем в него изменения, например добавим новую строку с текстом. Сохраним изменения.
- Вернемся в GitHub Desktop и обратим внимание, что на вкладке «Changes» у нас появились новые измененные файлы.

Изменения в файле показывают удаленные строки красным и новые строки зеленым цветом. Цвета помогают увидеть, что изменилось.
- Закоммитим изменения в левом нижнем углу и кликнем на Commit to development.
- Нажимаем Publish branch (в верхней части окна GitHub Desktop), чтобы сделать локальную ветку также доступной в Origin (GitHub). (Всегда существует две версии ветки: локальная версия и удаленная версия.)
- Вернемся в основную ветку (выбираем master в раскрывающемся меню). Затем посмотрим на свой файл (в текстовом редакторе). Стоит обратить внимание, что изменения, внесенные нами во время редактирования в ветке development , не отображаются в основной ветке.
Обычно новую ветку создают, когда вносят значительные изменения в контент. Например, нужно обновить раздел («Раздел X») в своих документах. Возможно, опубликовать другие обновления не нужно, прежде чем публиковать подробные изменения в Разделе X. Если работа была в той же ветке, было бы сложно выборочно загружать обновления для нескольких файлов за пределами Раздела X без отправки обновлений, которые сделали к файлам в разделе Х.
Посредством ветвления можно ограничить свои изменения конкретной версией, которая не запускается, пока не будут готовы изменения к объединению с master веткой.
Слияние (merge) ветки development с master
Теперь научимся объединять наши ветки.

- В GitHub Desktop переключитесь на ветку, в которую вы хотите объединить ветку development. В селекторе веток выберите ветку master.
- Переходим Branch > Merge into Current Branch
- В окне слияния выбираем ветку development и кликаем Merge development into master
После слияния веток изменения будут отображаться и в файле в ветке master.
- Нажимаем Push origin для отправки изменений в удаленный репозиторий.
После этого наши изменения будут отображены в репозитории на GitHub.
Слияние ветки через pull request
Теперь объединим ветку development с master, используя процесс pull request. Мы притворимся, что клонировали репозиторий разработчика, и хотим, чтобы разработчик влил наше изменение в ветку development. (Другими словами, у нас может нет прав на слияние веток в мастер.) Для этого мы создадим запрос на извлечение (pull request).
- Как выше, переключаемся на ветку development, вносим изменения в содержимое файла, сохраняем и подтверждаем изменения. После внесения изменений нажимаем Push origin, чтобы отправить наши изменения в удаленную версию ветки разработки на GitHub.
- В GitHub Desktop, с выбранной веткой development, переходим в Branch > Create Pull Request.
На сайте GiHub pull request выглядит так:

Стрелка влево (указывающая из ветви development в направлении master) указывает, что запрос на извлечение («PR») хочет объединить ветку development с основной веткой.

- Напишем причину запроса на извлечение и нажмем Create pull request.
- На этом этапе разработчики получат запрос по электронной почте с просьбой объединить их изменения. Попробуем себя в роли разработчика, перейдя на вкладку Pull requests (на GitHub), чтобы проверить и подтвердить запрос. Пока запрос на слияние не вызывает конфликтов, видна кнопка Merge pull request.
- Чтобы увидеть, какие изменения объединяются с мастером, можете щелкнуть вкладку Files changed (которая появляется на дополнительной навигационной панели вверху). Затем кликаем Merge pull request для объединения в ветке и Confirm merge, чтобы завершить объединение.
- Теперь получим обновления, которые мы слили в master ветку, в свою локальную копию. В GitHub Desktop выбираем master ветку и кликаем кнопку Fetch origin. Fetch получает последние обновления из источника, но не обновляет локальную рабочую копию с изменениями.
После нажатия кнопка Fetch origin изменится на Pull Origin.
- Нажимаем на Pull Origin чтобы обновить локальную копию с полученными изменениями.
Проверим файлы и обратим внимание, что обновления, которые изначально были в ветке development, теперь отображаются и в master.
Note: Более подробное руководство по созданию запросов извлечения с использованием интерфейса GitHub см. В разделе Процесс Pull request на GitHub. Работать с Pull Request нужно уметь, если планируется участие в опен-сорс проектах.
Управление конфликтами слияния
Предположим, мы внесли изменения в свою локальную копию файла в хранилище, а кто-то другой изменяет этот же файл, используя интерфейс браузера GitHub.com. Изменения противоречат друг другу. Что происходит?
Когда нажимаем Push origin от клиента GitHub Desktop, увидим сообщение о том, что хранилище было обновлено с момента последнего извлечения:
“The repository has been updated since you last pulled. Try pulling before pushing.”
Кнопка, которая раньше говорила «Push origin», теперь говорит «Pull origin». кликаем «Pull origin». Теперь получаем еще одно сообщение об ошибке, которое говорит:
“We found some conflicts while trying to merge. Please resolve the conflicts and commit the changes.”
Если решим зафиксировать свои изменения, то увидим сообщение, которое гласит:
“Please resolve all conflicted files, commit, and then try syncing again.”
GitHub Desktop отображает восклицательный знак рядом с файлами с конфликтами слияния. Откройте файл конфликта и найдите маркеры конфликта ( >>>>>> ). Например, такие:
>>>>>> c163ead57f6793678dd41b5efeef372d9bd81035
В командной строке можно запустить git status , чтобы увидеть, какие файлы имеют конфликты.) Содержимое в HEAD показывает локальные изменения. Содержание ниже ======= показывает изменения, внесенные в другом месте.
Устраняем все конфликты, изменив содержимое маркеров, а затем удалив маркеры. Например, обновите содержимое до этого:
This is an edit I made locally.
Теперь нужно снова добавить файл в Git. В GitHub Desktop внесем изменения в обновленные файлы. Кликаем Push origin. Обновления на локальном компьютере отправляются на удаленный компьютер без каких-либо конфликтов.
Заключение
Чем больше использовать GitHub, тем больше опыта работы с нужными рабочими процессами. Git — это мощная платформа для совместной работы, в которой есть множество команд, рабочих процессов и функций, которые можно использовать для различных сценариев. Несмотря на разнообразие команд и рабочих процессов Git, наиболее используемые сценарии ограничены по объему и доступны для изучения без особых усилий. Довольно скоро такие рабочие процессы станут автоматическими.
Используемые в этом занятии команды в интерфейсе GitHub Desktop можно попробовать и в командной строке. Возможно, что командная строка понравится больше. Но GitHub Desktop может стать хорошей отправной точкой.
Настройка GitHub Desktop
Вы можете настроить GitHub Desktop в соответствии с вашими потребностями и внести свой вклад в проекты.
Part 1: Installing GitHub Desktop
You can install GitHub Desktop on any supported operating system. For more information, see «Supported operating systems for GitHub Desktop.»
To install GitHub Desktop, navigate to https://desktop.github.com/ and download the appropriate version of GitHub Desktop for your operating system. Follow the prompts to complete the installation. For more information, see «Installing GitHub Desktop.»
Part 2: Configuring your account
If you have an account on GitHub or GitHub Enterprise, you can use GitHub Desktop to exchange data between your local and remote repositories.
Creating an account
If you do not already have an account on GitHub.com, create one now. For more information, see «Creating an account on GitHub.»
Authenticating to GitHub
To connect to GitHub Desktop with GitHub, you’ll need to authenticate your account. For more information, see «Authenticating to GitHub in GitHub Desktop.»
After authenticating your account, you are ready to manage and contribute to projects with GitHub Desktop.
Part 3: Configuring Git
You must have Git installed before using GitHub Desktop. If you do not already have Git installed, you can download and install the latest version of Git from https://git-scm.com/downloads.
After you have Git installed, you’ll need to configure Git for GitHub Desktop. For more information, see «Configuring Git for GitHub Desktop.»
Part 4: Customizing GitHub Desktop
You can adjust defaults and settings to tailor GitHub Desktop to your needs.
Choosing a default text editor
You can open a text editor from GitHub Desktop to manipulate files and repositories. GitHub Desktop supports a variety of text editors and integrated development environments (IDEs) for Windows and macOS. You can choose a default editor in the GitHub Desktop settings. For more information, see «Configuring a default editor in GitHub Desktop.»
Choosing a theme
GitHub Desktop has multiple themes available to customize the look and feel of the app. You can choose a theme in the GitHub Desktop settings. For more information, see «Setting a theme for GitHub Desktop.»
Синхронизация ветви в GitHub Desktop
Так как фиксации передаются в проект в GitHub, вы можете синхронизировать локальную копию проекта путем ее извлечения из удаленного репозитория.
Platform navigation
About branch synchronization
You can sync your local branch with the remote repository by pulling any commits that have been added to the branch on GitHub since the last time you synced. If you make commits from another device or if multiple people contribute to a project, you will need to sync your local branch to keep the branch updated.
When you pull to your local branch, you only update your local copy of the repository. To update your branch on GitHub, you must push your changes. For more information, see «Pushing changes to GitHub from GitHub Desktop.»
To add changes from one branch to another branch, you can merge the branches. To apply changes to your branch from another branch in the same repository, you can merge the other branch into your branch on GitHub Desktop. To request that changes from your branch are merged into another branch, in the same repository or in another repository in the network, you can create a pull request on GitHub Desktop. For more information, see «Merging another branch into your project branch» and «About pull requests.»
Some workflows require or benefit from rebasing instead of merging. By rebasing you can reorder, edit, or squash commits together. For more information, see «About Git rebase» and «Rebasing your project branch onto another branch.»
Pulling to your local branch from the remote
- In GitHub Desktop, use the

Current Branch drop-down, and select the local branch you want to update.
To check for commits on the remote branch, click Fetch origin

To pull any commits from the remote branch, click Pull origin or Pull origin with rebase.
Merging another branch into your project branch
- In GitHub Desktop, click

Current Branch.

Click Choose a branch to merge into BRANCH.
Note: If there are merge conflicts, GitHub Desktop will warn you above the Merge BRANCH into BRANCH button. You will not be able to merge the branches until you have resolved all conflicts.

To push your local changes to the remote repository, in the repository bar, click Push origin.
Rebasing your project branch onto another branch
- In the menu bar, select Branch, then click Rebase Current Branch.



Squashing and merging another branch into your project branch
- In the menu bar, select Branch, then click Squash and Merge into Current Branch.


Note: If there are merge conflicts, GitHub Desktop will warn you above the Squash and merge button. You will not be able to squash and merge the branch until you have resolved all conflicts.

To push your local changes to the remote repository, in the repository bar, click Push origin.
Further Reading
- «GitHub glossary» in the GitHub glossary
- «GitHub glossary» in the GitHub glossary
- «GitHub glossary» in the GitHub glossary