
Резюме
- GitHub — это платформа для размещения и обмена кодом с бесплатным веб-хостингом и функциями социальных сетей.
- Git — это система контроля версий, которая отслеживает изменения кода и используется для управления GitHub.
- Доступны и другие хостинги Git, такие как GitLab и Bitbucket, но GitHub является самым популярным.
GitHub стал настолько вездесущим, что можно подумать, что Git — это взаимозаменяемое сокращение. Но эти два термина очень разные, и для каждого из них доступны альтернативы, хотя и не столь популярные.
Что такое GitHub?
GitHub — это веб-приложение, позволяющее разработчикам размещать, делиться и вносить код для программного обеспечения. Многие из этих проектов имеют открытый исходный код и приглашают общественность вносить свой вклад. GitHub ориентирован на сообщество с учетными записями пользователей, запросами на извлечение для управления изменениями кода, системами отслеживания ошибок и вики для документации.

Сайт был запущен как независимый продукт в 2008 году, прежде чем Microsoft купила его в 2018 году. С момента своего запуска популярность GitHub выросла до такой степени, что теперь он фактически является домом для многих популярных приложений.
Функция GitHub Pages предлагает бесплатный веб-хостинг для проектов, поэтому они могут быть полностью автономными на платформе, без необходимости в отдельном веб-сайте. Вы даже можете выполнять ограниченные правки непосредственно на GitHub. В зависимости от характера вашего проекта вы также можете клонировать репозиторий для редактирования и тестирования кода локально.
Веб-сервис GitHub использует Git в качестве базовой технологии для отслеживания своих проектов.
Итак, что такое Git?
Git — распределенная система управления версиями (VCS), запущенная в 2005 году и разработанная создателем ядра Linux Линусом Торвальдсом. Git — это программное обеспечение с открытым исходным кодом, которое отслеживает изменения кода с течением времени. Оно хранит различия между версиями каждого файла, так что это похоже на наличие неограниченного количества сохраненных версий. Git использует термин «репозиторий» для обозначения набора файлов, составляющих проект.
Разработчики обычно используют Git в командной строке через команду git. Эта программа имеет огромное количество опций, с большим набором подкоманд для выполнения различных низкоуровневых функций в репозитории Git.

Например, вы можете превратить обычный каталог файлов в репозиторий Git с помощью этой команды:
git init
Типичный рабочий процесс включает редактирование файлов и последующую фиксацию изменений в Git для сохранения версии каждого файла:
git добавить файл-на-трек.c
git commit -m «Исправлена ошибка с процессом оформления заказа»
Вы можете клонировать проект GitHub, работать над ним локально и отправлять свои изменения в удаленный репозиторий на серверах GitHub. Вы можете сделать это, используя тот же механизм для любого репозитория Git, независимо от того, размещен ли он на GitHub, аналогичном конкурирующем сервисе или локальном сервере.
Если вам неудобно использовать команду git в терминале, вы можете использовать вместо этого GUI Git-клиент. Приложение GitHub Desktop работает с любым репозиторием Git, но по умолчанию оно хорошо работает с сервисом GitHub.

Доступны и другие клиенты Git, включая Fork, Sourcetree и GitKraken. Вы можете использовать их с проектом GitHub или любым другим репозиторием Git. Смена клиентов проста, поэтому не стесняйтесь экспериментировать, чтобы найти тот, который вам нравится.

Обязательно ли использовать оба варианта или любой из них?
Во-первых, вы должны понимать, что вы можете использовать GitHub для загрузки программного обеспечения без учетной записи пользователя. Большинство проектов позволяют вам загружать исполняемое приложение через страницу Releases, и вы всегда можете клонировать публичный репозиторий, чтобы получить полную копию его исходного кода.

Если вы хотите поддерживать публичный проект с открытым исходным кодом, GitHub — отличное место для его размещения, но это не единственный вариант. Помимо управления проектом вручную, вы можете использовать альтернативные хостинги, такие как GitLab или Bitbucket. Эти сервисы делают примерно то же самое, что и GitHub.
Поскольку эти сервисы построены на основе Git, перемещение вашего репозитория на другой хост — или использование более одного — довольно просто. Это означает, что вы всегда можете переместить свой исходный код, но функции, которые GitHub добавляет поверх Git — например, проблемы или страницы вики — привязаны к сервису. Поэтому вы можете выбрать минимизацию использования этих функций, чтобы не запереться в GitHub.
Однако API GitHub является всеобъемлющим, поэтому ваши данные доступны бесплатно — с небольшой работой. Вы можете получить доступ к проблемам с помощью API и загрузить связанные с ними данные, чтобы перенести отслеживание проблем на другую платформу. Проектные Wiki сами по себе являются репозиториями Git, поэтому вы можете клонировать их и экспортировать при необходимости.

Если вы хотите использовать другую систему контроля версий, вам придется поискать что-то получше GitHub. Beanstalk — это веб-приложение, которое поддерживает как Git, так и одну из его альтернатив, Subversion (SVN).
Есть и другие альтернативы Git, например Mercurial. Однако они гораздо менее популярны, чем Git, и их действительно стоит использовать, только если вам нужны какие-то специфические нишевые функции. Для большинства проектов, особенно новых, Git должен быть вашей системой контроля версий по умолчанию, а его отличная поддержка GitHub только укрепит ваш выбор.