Что такое Github, как пользоваться, как создать проект, управление и настройка

Программирование

Что такое GitHub, зачем нужен и как пользоваться ГитХаб, как начать использование сервиса – пособие для начинающих.

Что такое Github, как пользоваться, как создать проект, управление и настройка

GitHub – один из самых популярных сервисов, предназначенных для размещения репозиториев с открытым исходным кодом. Сайт позволяет публиковать пользовательские проекты и отслеживать изменения, внесенные в каждую итерацию. Другие пользователи GitHub могут просмотреть код пользователя и предложить собственные изменения.

Данное определение дает лишь краткое понимание. Однако функционал сервиса этим не ограничивается. В данной обзорной статье рассмотрим Github более подробно.

Contents

Что такое GitHub и как начать пользоваться – пособие для начинающих

GitHub – интернет-портал, в котором разработчики и программисты могут загружать созданный ими код и совместно работать над его улучшением.

Отличительной особенностью GitHub является его надежная система контроля версий. Контроль версий позволяет программистам настраивать ПО без ущерба для самого программного обеспечения. Предлагаемые изменения могут быть легко объединены в полноценный релиз, но только после того, как все изменения будут рассмотрены и одобрены.

Что такое Github, как пользоваться, как создать проект, управление и настройка

Git и GitHub – в чем разница, первое знакомство с Гит и ГитХаб

Что такое Git?

Ответ: Быстрая и масштабируемая система контроля версий.

Git – это бесплатная распределенная система контроля версий с открытым исходным кодом, предназначенная для быстрой и эффективной работы с любыми проектами, от небольших до очень крупных.

Что такое GitHub?

Ответ: мощный облачный сервис для управления частными разработками и проектами с открытым исходным кодом.

В чем главное отличие?

Git представляет собой полноценное программное обеспечение в категории «Система контроля версий», которое устанавливается на персональный компьютер пользователя. Git позволяет через командную строку (Microsoft PowerShell) вносить изменения в код, а GitHub предоставляет возможность хранить проекты в публичном доступе.

Интересные факты про Github

  1. Максимальное количество пользователей на сайте в прошлом году (по статистическим данным 24 июля 2021 года) составило 45 миллионов человек.
  2. В 2018 году Microsoft приобрела GitHub за 7,5 миллиарда долларов.
  3. На Github есть репозиторий git с открытым исходным кодом. Любой желающий может внести в него изменения. Проект доступен по ссылке – https://github.com/git/git?ref=stackshare
Что такое Github, как пользоваться, как создать проект, управление и настройка
Пример создания репозитория на сайте GitHub

Возможности Github

  1. Возможность интеграции с наиболее популярными платформами и сервисами – Amazon, Google Cloud и Code Climate.
  2. Поддержка более 200 языков программирования.
  3. Высокий уровень консолидации и «цеховой солидарности». Когда пользователь размещает свой проект на GitHub, остальные представители сообщества программистов могут загрузить и оценить работу, качество кода и степень его проработанности. Сторонние пользователи могут предупредить владельца проекта о возможных проблемах, конфликтах переменных и т.д.

Как работает GitHub, функции

Из наиболее важных функций Github можно выделить три – разветвление, запросы на извлечение и объединение. Стоит рассмотреть каждую функцию в отдельности.

Разветвление (forking)

Разветвление проекта создает копию (fork), которая позволяет пользователю свободно экспериментировать, не влияя на исходный проект.

Создание форков и запросов на извлечение:

Запросы на извлечение (pull request)

Pull request публикуется разработчиком после того, как он закончит работу над исправлением/изменением кода. При этом сам владелец проекта может просмотреть внесенные изменения и задать любые дополнительные вопросы.

Что такое Github, как пользоваться, как создать проект, управление и настройка

Объединение (merging)

После того, как владелец одобрит pull request, он объединяет запрос на извлечение и применяет изменения из разветвленного проекта к исходному коду.

Гайд – как начать работу в Github с нуля

Данный гайд отлично подойдет всем новичкам, которые только начинают изучать Git и Github.

Нижеприведенные шаги помогут выстроить оптимальную систему работы с данным программным обеспечением. Вы научитесь вносить изменения в кодовую базу, открывать запрос на извлечение (создавать pull request) и объединять код в основную ветвь. Итак, приступим.

Что такое Github, как пользоваться, как создать проект, управление и настройка
Dashboard аккаунта на ГитХаб

Шаг 0. Установка Git и создание учетной записи на GitHub

  1. Перейдите на официальный веб-сайт Git: https://git-scm.com/downloads
  2. Нажмите на ссылку для скачивания настольной версии Git для Windows и дождитесь окончания загрузки.
  3. Извлеките и запустите установщик Git двойным кликом по файлу Git.exe.Что такое Github, как пользоваться, как создать проект, управление и настройка
  4. Разрешите приложению вносить изменения в ПК путем нажатия кнопки «Да» в открывшемся диалоговом окне «Управление учетными записями пользователей».
  5. Запустите процесс установки Git. Ознакомьтесь с основным документом «Публичная лицензия GNU» и нажмите кнопку «Далее».Что такое Github, как пользоваться, как создать проект, управление и настройка
  6. Укажите место для установки программы или же оставьте значения по умолчанию. Программа предложит создать папку меню «Пуск». Пропустите этот пункт.
  7. Выберите текстовый редактор, который собираетесь использовать совместно с Git. В выпадающем окне необходимо выбрать Notepad++ (или любой другой текстовый редактор, с которым ранее работали) и нажать «Далее».Что такое Github, как пользоваться, как создать проект, управление и настройка
  8. Укажите название для новой ветки проекта. Значение по умолчанию – «master». Рекомендуется оставить данный параметр по умолчанию.
  9. В параметрах возможностей выбора PATH, SSH-клиента, сертификатов сервера, окончания строк и терминала оставьте все как есть и жмите кнопку «Далее».
  10. Оставьте все значения параметров по умолчанию и начните установку программы.
  11. После завершения установки отметьте флажки для просмотра примечаний к выпуску и запустите Git Bash. Закройте окно установщика.

Зарегистрировать аккаунт на Github можно по следующей ссылке: https://github.com/join. Для этого необходимо ввести основные регистрационные данные, необходимые в дальнейшем для подтверждения учетной записи.

Что такое Github, как пользоваться, как создать проект, управление и настройка

Шаг 1. Запуск Git и создание первого локального репозитория

Git имеет два режима использования – bash (Git Bash) и графический интерфейс пользователя (Git GUI). Чтобы запустить Git Bash, откройте меню «Пуск» – «Windows», введите git bash и нажмите Enter (или щелкните два раза левой кнопкой мыши на ярлык программы).

Для запуска Git GUI, откройте меню «Пуск» – «Windows», введите git gui и нажмите Enter. В нашем случае мы будем использовать Git Bash.

Что такое Github, как пользоваться, как создать проект, управление и настройка

Создание нового проекта в программе Git Bash предполагает использование специальных команд для инициализации нового репозитория. Для начала необходимо открыть терминал Bash, нажав клавишу правой кнопкой мыши на рабочем столе, а затем в выпадающем меню Git Bash Here.

В окне терминала на локальном компьютере создайте новый тестовый каталог (папку), введя следующее:

getrekt:Desktop getrekt $ cd ~/Desktop

getrekt:Desktop getrekt $ mkdir myproject

getrekt:Desktop getrekt $ cd myproject/

Команда mkdir создает новую папку локального проекта.

Создаем наш первый Github репозиторий:

Шаг 2. Создание нового файла в репозитории

В папке с проектом добавьте новый текстовый файл, используя команду touch. Стандартным образом команда создаст пустой текстовый файл, который будет иметь расширение .txt.

Внимание! Git сохраняет изменения/управляет изменениями только в тех файлах, которые он отслеживает. После создания нового файла пользователь может отследить его статус при помощи команды git status. Консоль выдаст список файлов, которые присутствуют в репозитории.

Как только вы добавите файл в папку, содержащую репозиторий git, программа заметит изменение внутри проекта. Однако автоматическое отслеживание не будет включено, необходимо использовать для этого специальную команду – git add.

getrekt:myproject getrekt $ touch getrekt.txt

getrekt:myproject getrekt $ ls

getrekt.txt

Шаг 3. Добавление файла в промежуточную среду для отслеживания

Добавьте файл в промежуточную среду с помощью команды git add.

getrekt:myproject git add .

При помощи этой команды программа запустит автоматическое отслеживание всех файлов, которые будут созданы в папке проекта. Проверить работоспособность команды можно при помощи git status.

Вот так выглядят логи в командной строке Git Bash после ввода команды git status:

getrekt: getrekt getrekt$ git status
On branch master

Initial commit

Changes to be committed:
(use “git rm –cached …” to unstage)
New file added
New filename: getrekt.txt

new file: getrekt.txt

Комментарий к логам: файл еще не был добавлен в коммит, но вот-вот будет добавлен.

Шаг 4. Создание commit

Commit – контрольная точка любого репозитория. Проще говоря, – пакет изменений, хранящий информацию о добавленных, отредактированных или удаленных файлах, в которых хранится определенный код.

getrekt:myproject getrekt $ git commit -m “МОЙ ПЕРВЫЙ КОММИТ, РЕБЯТА!”

[master (root-commit) b345d9a] МОЙ ПЕРВЫЙ КОММИТ!

1 file changed, 1 insertion(+)

create mode 100644 getrekt.txt

Команда для создания commit – git commit –m «Название коммита».

Внимание! Сообщение в конце команды должно быть осмысленно и понятно другим разработчикам проекта. Не называйте ваши коммиты по типу «asdfadsf» или «foobar». В противном случае никто ничего не поймет, и вам придется тратить кучу времени на их удаление.

Шаг 5. Создание новой ветки new branch

New branch – это полноценная ветвь проекта, которая состоит из целой совокупности коммитов. Представляет собой отдельный релиз продукта, но в рамках системы контроля версий.

Ветви позволяют пользователю перемещаться между «состояниями» проекта.

В официальной документации git, представлено описание branches: «Branch в Git и Github – подвижный указатель на один из коммитов репозитория».

Например, если пользователь захотел добавить новую страницу на свой веб-сайт, то он сможет создать новую ветку (branch) только для этой конкретной страницы, не затрагивая основную часть проекта.

Как только закончит с ней, то сможет объединить изменения из своей ветки в основную. В случае создания новой ветки, Git отслеживает то, от какого коммита произошло разветвление.

Что такое Github, как пользоваться, как создать проект, управление и настройка

После выполнения команды вы можете прописать в консоли git branch, чтобы подтвердить создание ветви:

getrekt:myproject getrekt $ git branch

master

* my-new-branch

Название my-new-branch со звездочкой указывает, в какой ветви находится пользователь в данный момент времени.

Примечание: По умолчанию самая первая ветвь каждого репозитория git называется «master» (и обычно используется в качестве основной в проекте). В рамках борьбы с расизмом некоторые разработчики стали использовать альтернативные названия для ветки по умолчанию, например, «primary». Однако, чаще всего пользователи могут увидеть «master» или похожие названия, используемые для обозначения.

Стоит иметь ввиду, что почти в каждом репозитории есть основная ветвь, которую можно рассматривать как официальную версию проекта. Если это веб-сайт, то ветвь – это версия, которую видят пользователи.

Если это приложение, то основной ветвью является релиз, который устанавливают пользователи на свой компьютер или мобильное устройство. Именно так работает традиционная обработка версий продуктов Git и Github.

На официальном сайте есть более подробная документации по использованию разных имен ветвей по умолчанию. Информация доступна на Github по ссылке https://github.com/github/renaming

Что такое Github, как пользоваться, как создать проект, управление и настройка

В случае возвращения в ветвь проекта и создания нескольких коммитов новый branch не будет отслеживаться системой контроля версий, пока пользователь не пропишет автоматическое отслеживание.

Шаг 6. Создание нового репозитория на GitHub

Данный шаг не требуется выполнять, если вы хотите отслеживать свой код только локально. Но если вы работаете в команде и принимаете изменения от других программистов, то можете использовать текущие возможности GitHub для совместного изменения кода проекта.

Чтобы создать новый репозиторий на GitHub, необходимо авторизоваться в системе и перейти на главную страницу сайта. В главном меню нажмите на кнопку «New Repository», который находится под знаком «+» рядом с фотографией профиля в правом верхнем углу панели навигации:

После нажатия на кнопку GitHub попросит владельца проекта дать название репозитория и предоставить краткое описание:

Что такое Github, как пользоваться, как создать проект, управление и настройка

Далее нажмите кнопку «Create repository», чтобы подтвердить создание нового проекта.

Появится диалоговое окно, в котором пользователя спросят о том, хочет ли он создать репозиторий с нуля или добавить уже существующий, созданный локально. Во втором случае необходимо загрузить папку проекта на Github.

Внимание! Загрузка локального репозитория может происходит и с использованием командной строки, а конкретнее команд git remote add origin github_url (создает запись о новом подключении к удаленному репозиторию), git push -u origin master (устанавливает связь между той веткой, в которой находится разработчик и веткой master на удалённом сервере).

Вот так выглядят логи в командной строке Git Bash:

getrekt:myproject getrekt $ git remote add origin https://github.com/cubeton/mynewrepository.git

getrekt:myproject getrekt $ git push -u origin master

Counting objects: 3, done.

Writing objects: 100% (3/3), 263 bytes | 0 bytes/s, done.

Total 3 (delta 0), reused 0 (delta 0)

To https://github.com/cubeton/mynewrepository.git

* [new branch]      master -> master

Branch master set up to track remote branch master from origin.

Шаг 7: Отправка ветки проекта на GitHub

Новая ветка проекта и репозиторий были созданы. Осталось «запушить» ветвь и перенести в новый репозиторий Github. Так сторонние участники сообщества смогут видеть код и вносить в него изменения. В случае одобрения доработок владелец проекта может объединить изменения с основной версией проекта.

Чтобы перенести изменения в новую ветку на GitHub, в командной строке необходимо ввести команду git push. GitHub автоматически создаст ветку в удаленном репозитории:

getrekt:myproject getrekt$ git push origin my-new-branch

Counting objects: 3, done.

Delta compression using up to 8 threads.

Compressing objects: 100% (2/2), done.

Writing objects: 100% (3/3), 313 bytes | 0 bytes/s, done.

Total 3 (delta 0), reused 0 (delta 0)

To https://github.com/cubeton/mynewrepository.git

* [new branch]      my-new-branch -> my-new-branch

После обновления страницы GitHub, пользователь увидит новую ветку, которая была помещена в репозиторий.

Что такое Github, как пользоваться, как создать проект, управление и настройка

Дополнительно

Что означает слово origin в команде git push origin?

Когда пользователь клонирует удаленный репозиторий на свой локальный компьютер, git создает для него почти во всех случаях стандартный псевдоним «origin», который по сути является сокращением URL адреса удаленного репозитория.

Отправка проекта на GitHub:

Шаг 8. Создание первого pull request

Запрос на извлечение (или pull request) – это способ предупредить владельцев репозитория о том, что разработчик хочет внести некоторые изменения в код.

Вот так выглядит страница с добавлением pull request:

Что такое Github, как пользоваться, как создать проект, управление и настройка

Вот так выглядит интерфейс раздела после создания pull request:

Что такое Github, как пользоваться, как создать проект, управление и настройка

Шаг 9. Объединение pull request

Зеленая кнопка «Merge pull request» внизу создает запрос на слияние. После ее нажатия внесенные изменения добавляются в основную ветку проекта.

Внимание! После слияния удалите ветку. Их большое количество может привести к беспорядку в проекте. Для удаления ветви нажмите серую кнопку «Delete branch» в правом нижнем углу.

Что такое Github, как пользоваться, как создать проект, управление и настройка

Для проверки текущего статуса коммитов, нажмите на ссылку «Commits» на самой первой странице репозитория. По нажатию выведется весь список коммитов в этой ветке. На скриншоте показан именно тот, который был создан только что.

Что такое Github, как пользоваться, как создать проект, управление и настройка

Что такое Github, как пользоваться, как создать проект, управление и настройка

С правой стороны указан хэш-код каждого commit. Хэш-код – это уникальный идентификатор, который может быть использован при подключении API и сторонних сервисов. Также по идентификационному номеру можно ссылаться на конкретный коммит в командной строке настольной версии Git Bash.

Шаг 10. Отмена изменений Github на локальном компьютере

На данный момент репозиторий в системе Github выглядит немного иначе, чем у пользователя на локальном компьютере. Например, коммит, который пользователь сделал в своей ветке и объединил в основную, не существует на локальном компьютере.

Для автоматической синхронизации различных версий проекта необходимо использовать команду git pull origin master (при работе с основной ветвью) или git pull.

getrekt:myproject getrekt $ git pull origin master

remote: Counting objects: 1, done.

remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0

From https://github.com/cubeton/mynewrepository

* branch            master     -> FETCH_HEAD  

23242..232433berer3444  master     -> origin/master

getrekt.txt | 1 +

1 file changed, 1 insertion(+)

Для проверки текущего статуса выполнения команды пропишите в командной строке git log. Она выведет список всех коммитов.

getrekt:myproject getrekt $ git log
commit 32dgt472hf74yh7734hf747fh373hde7r3heduer73hfhf
Merge: 3fg4dd 34fg3u7j7
Author: Mtdes Ethan < getrekt@yandex.ru>
Date: Fri Sep 11 17:48:11 2015 -0400

Merge branch ‘master’ of https://github.com/cubeton/mynewrepository

commit 44hgfh7f74hdu9jt93hf9ifejffe
Author: Mtdes Ethan < getrekt@yandex.ru>
Date: Fri Jan 07 17:48:00 2021 -02356

commit 46thf9496hf9485hkf857tg9hfj8rh4j
Merge: 33fh5d 3689gfh
Author: Mtdes Ethan < getrekt@yandex.ru>
Date: Fri Jan 07 17:51:00 2021 -02356

commit 46thf9496hf9485hkf857tg9hfj8rh4j
Merge: 33fh5d 3689gfh
Author: Mtdes Ethan < getrekt@yandex.ru>
Date: Fri Jan 07 17:55:00 2021 -02356

Added some more text to my file

commit 355904-43hg940fg959hfg0g95jjgdgdfgf57i86f
Merge: 343fggdd 53efhgffddg
Author: Mtdes Ethan < getrekt@yandex.ru>
Date: Fri Jan 07 17:58:00 2021 -02356

This is my first commit!

Готово! Теперь пользователь знаком со всеми видами работы в системе контроля версий.

Git и GitHub курс обучения для новичков, как установить Git и начать работать с Github, ветки, репозитории, коммиты и другие понятия в практических занятиях по ГитХаб:

Дополнительные возможности Github и Git

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

Клонирование репозитория на локальный компьютер

Перейдите в свой репозиторий на GitHub. В правом верхнем углу над списком файлов откройте раскрывающееся меню «Clone or download». Скопируйте URL-адрес для клонирования по протоколу HTTPS.

Что такое Github, как пользоваться, как создать проект, управление и настройка

Вернитесь в окно Git Bash и введите команду:

git clone repository_url

repository_url – ссылка текущего проекта, который необходимо клонировать. Вместе него вставляется url репозитория.

В приведенном примере команда клонирует репозиторий по протоколу HTTPS. Другой вариант – клонирование с помощью URL-адресов по SSH-ключам. Для этого необходимо сгенерировать пару SSH-ключей на Windows и назначить открытый ключ учетной записи GitHub.

Поиск удаленных репозиториев

После клонирования в рабочем каталоге на компьютере должна появиться копия репозитория с GitHub. Проект должен содержать каталог с названием и основные файлы. Для того, чтобы в него перейти, необходимо написать следующую команду:

cd git_project

Примечание: Замените git_project фактическим именем загруженного репозитория, либо укажите содержимое текущего каталога с помощью команды ls. Второй способ используется в тех случаях, когда пользователь не может вспомнить название проекта.

Десктопная версия гитхаба — что это GitHub Desktop, основной функционал, возможности и процесс установки

GitHub Desktop – это настольное приложение, которое обеспечивает взаимодействие с GitHub на основе графического интерфейса. В отличие от Git десктопная версия GitHub позволяет выполнять те же самые команды при помощи пользовательского интерфейса путем нажатия кнопок, что заметно упрощает работу с репозиториями.

Как установить

  1. Перейти по ссылке – https://desktop.github.com/Что такое Github, как пользоваться, как создать проект, управление и настройка
  2. Начать скачивание установочного пакета программы.
  3. Дважды щелкнуть на иконку загруженного файла и приступить к установке Github Desktop.
  4. Запустить программу через меню «Пуск».
  5. Войти в систему GitHub, используя данные учетной записи пользователя.

Основной функционал

  • Создание, добавление и клонирование репозиториев.
  • Использование программы для управления вкладками проектов.
  • Внесение изменений в ветку.
  • Создание issues, pull request и коммитов.
  • Возможность получать доступ к ранним версиям новых продуктов.

Github API

Github REST API – интерфейс, который предоставляет разработчикам доступ к данным, проектам и репозиториям Github, а также позволяет отправлять серверные запросы.

По ссылке https://api.github.com/ находятся все URL-адреса, на которые можно отправлять простейшие GET-запросы:

Что такое Github, как пользоваться, как создать проект, управление и настройка

Чаще всего разработчики создают реквесты на программном языке Python в формате JSON. Сначала необходимо получить основную информацию о репозитории по ссылке – https://api.github.com/user/repos

Основная информация вписывается в конфигурационный файл в формате JSON. В нем находятся основные параметры о пользователе — аватар, читатели, количество репозиториев, загрузок и т.д. Эти данные затем передаются на сервер.

Управление и настройка проектов Github Desktop

После установки, регистрации учетной записи и настройки приложения пользователь может начать использовать программу GitHub.

Создание, добавление и клонирование репозитория

Для создания нового репозитория необходимо выбрать «Файл» и нажать кнопку «Создать хранилище».

Для добавления локального проекта необходимо выбрать меню «Файл» и нажать кнопку «Добавить локальный репозиторий».

Для клонирования необходимо выбрать меню «Файл» – «Клонировать репозиторий».

Что такое Github, как пользоваться, как создать проект, управление и настройка

Создание New Branch

Для создания отдельной ветки проекта откройте раздел Current Branch и нажмите кнопку New Branch.

Пользователь сможет увидеть ветку в интерфейсе GitHub и сделать pull request, чтобы отслеживать изменения.

Что такое Github, как пользоваться, как создать проект, управление и настройка

Безопасность

Настольная и веб-версия Github позволяет провести настройку и повысить уровень безопасности учетной записи пользователя. Весь функционал доступен в разделе «параметры безопасности для хранилища». Стоит рассмотреть более подробно.

Настройка политики безопасности

На главной странице вашего репозитория нажмите:

  • «Security» – «Security Policy» – «Start Setup».
  • Добавьте информацию о поддерживаемых версиях вашего проекта и о том, какими способами сообщать о возможных уязвимостях.

Что такое Github, как пользоваться, как создать проект, управление и настройка

Управление графиком зависимостей

График зависимостей автоматически создается для всех общедоступных репозиториев, но для частных такой функции не предусмотрено. График идентифицирует все исходящие потоки зависимостей и позволяет определить уязвимости в проекте.

Для установки графика зависимостей нажмите на «Настройки» – «Безопасность и анализ». Напротив графика нажмите «Включить» или «Отключить».

Что такое Github, как пользоваться, как создать проект, управление и настройка

Лицензии

Github лицензирование предусматривает использование двух основных видов лицензии:

  1. GPL — вид лицензии, который позволяет другим пользователям использовать чужую работу в других проектах с открытым исходным кодом. Однако коммерческие компании не могут этого делать.
  2. LGPL/Commons/MIT/Apache и т. д. – пользователь отдает свой код для бесплатного использования. Другие могут зарабатывать на этом деньги.
Что такое Github, как пользоваться, как создать проект, управление и настройка
Где указывается вид лицензии на GitHub

Мы рассмотрели основной функционал облачного сервиса Github и программы для работы с репозиториями Git Bash. Пошагово рассказали о том, как создать полноценный проект в системе контроля версий.

Rate article
Add a comment