Что такое GitHub
GitHub (Гит Хаб) — это веб-платформа и сервис для хостинга IT-проектов и их совместной разработки. GitHub основан на системе контроля версий под названием “Git” (Гит) и позволяет разработчикам хранить код, отслеживать изменения, управлять версиями и сотрудничать с другими разработчиками.
Важные термины
Папка, директория, каталог – здесь и далее означают одну и ту же сущность операционной системы (или репозитория), т.е. являются словами-синонимами.
Репозиторий (repo - “репа”) – хранилище, содержащее все файлы и историю изменений проекта. Например, в операционной системе репозиторий обычно выглядит как папка с файлами. Подобным образом репозиторий выглядит и на GitHub.
Репозитории бывают:
- Удалённые (remote - ремоут) – хранятся на сервере, который находится “далеко” от вас, поэтому и называется “удалёнными”
- Локальные (origin - ориджин) – расположены непосредственно на вашем ПК
Отличием локального репозитория от обычного каталога является наличие в этой директории скрытой папки с названием .git
. Содержимое этого каталога необходимо для работы Git, как системы контроля версий.
Коммит (commit) – “контрольная точка”, “слепок” или другими словами, зафиксированное состояние репозитория. Простыми словами “коммит” – это сохранённые изменений в проекте.
Сделать коммит (Commit changes) или “закоммитить” – это значит зафиксировать изменение отдельных или всех файлов репозитория. При работе с GitHub через браузер любое изменение в файлах проекта сопровождается нажатием кнопки Commit changes
.
Чем Git отличается от GitHub
Git и GitHub — это два разных инструмента, хотя они тесно связаны и часто используются вместе.
Git — это распределенная система контроля версий, которая позволяет отслеживать изменения в исходном коде и управлять ими. Она работает локально на вашем компьютере и не требует подключения к интернету для большинства операций. Git предоставляет инструменты упрощающие контроль изменений в файлах.
Например – вчера вы написали и отладили код, а сегодня пришла пора добавить новый функционал. Изменять файлы работающей программы страшно, потому что есть риск “испортить” код, сделав его нерабочим, после чего бывает сложно вернуться к “вчерашним” изменениям. Выход для многих начинающих программистов – создавать новую копию файла, для любых масштабных изменений. Однако хранить много копий сложно и ненадежно – в какой-то момент вы начнете менять не ту версию или забудете сделать резервную копию перед внесением очередных исправлений. Да и сам проект зачастую содержит больше одного файла с кодом – тогда приходится копировать целые папки с разными версиями, что увеличивает количество занятого места на вашем диске. Кроме того, растёт и сложность поиска нужной директории с кодом: “проект”, “проект new”, “новый проект new”, “проект new new 2” – не с первого раза получится найти нужную версию, ведь так?
В такие моменты и нужен Git – он будет хранить историю изменений всех файлов и все файлы в одной папке, а вы сможете переключаться между разными версиями почти мгновенно. При этом всё хранится в одной и той же папке (репозитории), а переключения между версиями (коммитами) незаметно обеспечит Git.
Существуют и другие системы контроля версий, например Mercurial, Bazaar, Apache Subversions, однако Git стал в своём роде индустриальным стандартом из-за лицензии “открытого исходного кода”, что делает его полностью бесплатным и доступным для всех желающих.
GitHub — это крупнейший веб-сервис для хостинга IT-проектов и их совместной разработки. Именно там размещают свой код разработчики самых известных библиотек и языков программирования с открытым исходным кодом: Python, Django, FastAPI, Requests, NumPy.
Кроме размещения кода, участники могут общаться, комментировать правки друг друга, а также следить за новостями знакомых. Поэтому GitHub называют «соцсетью для разработчиков».
Аналогами GitHub являются GitLab, BitBucket и GitVerse, каждый из которых обладает своими особенностями, преимуществами и недостатками.
GitHub позволяет создавать репозитории и вносить правки прямо в браузере без установки и настройки на вашем компьютере каких-либо дополнительных программ. Поэтому мы предлагаем в первую очередь познакомиться именно с этим сервисом, чтобы поделиться ссылкой на свой код с проверяющим Девмана.
Резюме
Git – это система контроля версий, тогда как GitHub – это веб-сервис, расширяющий функции Git для командной разработки и хранения проектов на удалённом сервере. Git изначально был предназначен для локальной разработки, тогда как GitHub обеспечивает работу распределённых команд.
Попробуйте бесплатные уроки по Python
Получите крутое код-ревью от практикующих программистов с разбором ошибок и рекомендациями, на что обратить внимание — бесплатно.
Переходите на страницу учебных модулей «Девмана» и выбирайте тему.