Github
Дело в том, что сам git делится на два компонента: локальный и серверный. Ранее мы с вами разбирались в устройстве локальной программы git, а теперь настало время связать наш локальный git с его облачным компонентом.
Существуют несколько провайдеров, которые предоставляют удобный интерфейс до серверного git. Одним из таких монополистов является Github.
Github - это централизованное, удаленное хранилище git репозиториев (проектов git). Как мы ранее отмечали, от системы контроля версий кода мы хотим получить возможность делиться нашими измнениями с другими разработчиками, а локальная программа нам позволяет это делать с трудом (только если вся наша команда чудесным образом работает за одним компьютером). При синхронизации с облачным хранилищем, каким является Github, каждый раш разработчик может отправлять свою историю изменений в облако, а также получать изменения, внесенные другими разработчиками.
Github позволяет нам хранить свои проекты как в публичном доступе с возможностью делиться исходным кодом с кем либо, так и с приватным доступом, которым вы можете делиться с определнными пользователями.
Github является главным хранилищем исходного кода большинства open source
программ. Open source - программы с открытым исходным кодом, в развитие которых может принимать каждый желающий.
К сожалению на github сильно усложнился процесс авторизации, но чтобы его облегчить, давайте привяжем SSH
ключ.
SSH ключи
SSH-ключи - это уникальные идентификаторы для пользователей, которые обеспечивают безопасное и защищенное подключение к удаленным серверам.
Они используются для аутентификации пользователя при подключении к серверу по протоколу SSH и представляют собой пару ключей, публичный и приватный.
Публичный ключ можно безопасно передавать другим пользователям или размещать на удаленном сервере, который вам нужно подключить. Приватный ключ должен быть защищен и храниться только на вашем компьютере.
Когда вы пытаетесь подключиться к серверу, используя SSH, сервер спрашивает у вас ваш публичный ключ, а затем использует его для проверки вашей подлинности. Если сервер подтверждает, что вы являетесь владельцем приватного ключа, то он разрешает доступ к серверу.
Получается, что использование SSH-ключей для подключения к удаленному серверу гораздо безопаснее, чем использование пароля, который может быть легко угадан или подобран злоумышленником.
Для того, чтобы привязать ваш SSH-ключ к Github необходимо его сначала создать. Команда универсальна для большинства операционных систем: ssh-keygen -t rsa
. Данная команда создаст в вашем домашнем каталоге (/home/$USER/
для Linux, /Users/$USER/
) подкаталог .ssh
в котором вы сможете найти 2 файла: id_rsa
и id_rsa.pub
. Первый это наш приватный ключ, второй - публичный. Давайте выведем содерживое публичного ключа в консоль с помощью команды cat ~/.ssh/id_rsa.pub
, скопируйте полученный текст, зайдите в настройки аакаунта на Github и вставьте ваш ключ в разделе SSH keys and GPG keys
.
Для того чтобы связать наш локальный репозитрий с удаленным необходимо воспользоваться командой:
git remote add origin git@github.com:логин/название_удаленного_репозитория.git
Будьте внимательны, Github может предлагать вам URL на базе HTTPS или SSH. Вам необходим SSH URL.
После этого вы можете отправлять ваши локальные коммиты в удаленный с помощью команды git push
Задание
Создайте пару SSH ключей и добавьте ваш публичный ключ на Github
Так как никому не интересен ваш учебный проект, то давайте сделаем его приватным, а после создания репозитория в его настройках выдайте права для пользователя с email
ruby_course@rambler.ru
(меня)привяжите ваш локальный репозиторий к удаленному.
Отправьте изменения в удаленный репозиторий.
Отправьте мне на email URL вашего удаленного git репозитория.
Last updated