Гитхаб — крупнейший веб-сервис для хостинга IT-проектов и их совместной разработки. Он как раз и основан на системе контроля версий Гит. Кроме размещения кода участники могут общаться, комментировать правки друг друга, а также следить за новостями знакомых. Именно в нём работаем мы в Академии и ученики на интенсивах.

Регистрация и установка

Устанавливаем Гит

Если до этого вы не работали с Гитом, то его нужно установить. Рассмотрим, как это сделать в популярных операционных системах.

Установка в Linux

Если вы хотите установить Git под Linux как бинарный пакет, это можно сделать, используя обычный менеджер пакетов вашего дистрибутива. Пользователи Fedora, могут воспользоваться yum: $ yum install git-core Для дистрибутивов, основанных на Debian (например Ubuntu), используйте apt-get: $ sudo apt-get install git

Установка на Mac

Сперва устанавливаем Homebrew если он у вас ещё не стоит. Также вы можете установить его с помощью команды:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

После установки Homebrew, введите в терминале команду: brew install git.

Эта команда установит Гит на ваш компьютер.Чтобы прописать новый путь к установке Гит введите команду:export PATH=/usr/local/bin:$PATH

Установка в Windows

Здесь всё просто. Просто скачайте exe-файл инсталлятора со страницы проекта на Гитхабе и запустите его.

После установки у вас будет как консольная версия (включающая SSH-клиент, который пригодится позднее), так и стандартная графическая.

Регистрация на Гитхабе

Чтобы начать работать с Гитхабом, нужно зарегистрироваться на нём, если вы ещё этого не сделали. Регистрация предельно проста:

  1. Переходим на сайт Гитхаба.
  2. Нажимаем кнопку Sign up (зарегистрироваться).
  3. На странице регистрации вам предложат ввести обязательные данные:
    • имя пользователя;
    • адрес электронной почты;
    • пароль.
    Страница регистрации Гитхаб
    Страница регистрации Гитхаб
  4. На следующем этапе предложат выбрать тарифный план. Заметим, что Гитхаб — полностью бесплатный сервис. Однако, он предоставляет и платные возможности. Например, приватные репозитории.
  5. Тарифы Гитхаба для дополнительных функций
    Тарифы Гитхаба для дополнительных функций
  6. После этого вы попадёте на небольшой опрос от Гитхаба, который можете просто пропустить, нажав skip this step.
Финальная страница регистрации с опросом
Финальная страница регистрации с опросом

Начинаем работу

Устанавливаем SSH-ключи

SSH-ключ нужен чтобы быстро устанавливать соединение с Гитхабом, не вводя пароля. Кроме того, SSH — единственный из сетевых протоколов, предоставляющий доступ и на чтение, и на запись. Два других сетевых протокола (HTTP[S] и Git) в большинстве случаев дают доступ только на чтение, поэтому даже если они вам доступны, вам всё равно понадобится SSH для записи. К тому же SSH — протокол с аутентификацией и шифрованием трафика, что называется «из коробки». Недостаток SSH в том, что, используя его, вы не можете обеспечить анонимный доступ к репозиторию.

Доступ к удалённому репозиторию по SSH — самый распространённый вариант настройки удалённого доступа, быстрый, удобный и безопасный. Настроив авторизацию в SSH по ключам, вы будете избавлены от необходимости вводить пароли для доступа к репозиторию, сохраняя, однако, приемлемый уровень безопасности.

  1. Откройте используемый вами терминал
  2. Введите команду ssh-keygen -t rsa -b 4096 -C "your_email@example.com", она создаст новый SSH-ключ, используя вашу электронную почту как метку. В качестве электронного адреса укажите электронную почту, которую использовали при регистрации аккаунта в Гитхаб.
  3. Вам будет предложено ввести пароль к ключу. Вы можете не использовать его или назначить любой. Пароль защищает ваш ключ от нежелательных вторжений.
  4. Установка пароля к  SSH-ключу
    Установка пароля к SSH-ключу
  5. После этого будет предложено дважды ввести придуманный пароль (или просто этот шаг будет пропущен, если вы решили не создавать пароль), и затем создастся ключ.
  6. Повторить пароль к  SSH-ключу
    Повторить пароль к SSH-ключу
  7. Добавляем ключ в ssh-agent. Проверяем доступность ключа командой eval "$(ssh-agent -s)" и добавляем командой ssh-add ~/.ssh/your_key_name.
Добавляем ключ в ssh-agent
Добавляем ключ в ssh-agent

Примечание: у пользователей Windows, которые пользуются программой Cmder, могут возникнуть проблемы с командой eval "$(ssh-agent -s)". Им будет выведено вот такое сообщение об ошибке:

«eval» не является внутренней или внешней командой, исполняемой программой или пакетным файлом.

В Сmder для запуска ssh-agent можно использовать команду start-ssh-agent.

Если проблема осталась, то рекомендуем воспользоваться программой Git Bash.

Примечание: если вы используете macOS Sierra 10.12.2 или более позднюю версию, то вам нужно будет модифицировать ваш ~/.ssh/config файл, чтобы автоматически загрузить ключи в ssh-agent и хранить пароли.

Host *
 AddKeysToAgent yes
 UseKeychain yes
 IdentityFile ~/.ssh/id_rsa

Также вы можете добавить свой приватный ключ в ssh-agent и сохранить пароль к нему с помощью команды $ ssh-add -K ~/.ssh/id_rsa. Если вы создали свой ключ с другим именем или добавили существующий ключ с другим именем, замените в команде id_rsa на имя вашего личного ключа.

После того как создан ключ, его остаётся только добавить на Гитхаб. Для этого скопируем его содержимое командой pbcopy < ~/.ssh/id_rsa.pub (для пользователей macOS или Linux) или clip < ~/.ssh/id_rsa.pub (для пользователей Windows). Также вы можете просто открыть файл .pub с именем вашего ключа и скопировать его содержимое. Переходим на страницу https://github.com/settings/keys и нажимаем кнопку New SSH key. Введите произвольное имя ключа и вставьте код ключа из буфера обмена. После этого можно нажимать Add SSH key. Необходимо будет ввести пароль от аккаунта, чтобы подтвердить действие.

Добавляем ключ на Гитхаб
Добавляем ключ на Гитхаб

Проверить, что всё сделано верно, можно командой ssh -T git@github.com. Она должна выдать похожее сообщение:

Результат проверки добавления ключа
Результат проверки добавления ключа

Теперь можно клонировать любой доступный репозиторий используя его SSH-ссылку.

Клонируем репозиторий по SSH-ссылке
Клонируем репозиторий по SSH-ссылке

Более подробное описание работы с Гитхабом мы рассмотрим в статье «Pабота с Гит через консоль»