Что такое GitHub и для чего он используется?

GitHub - это веб-сайт и сервис, о котором мы постоянно слышим восторженные отзывы компьютерных фанатов, но многие люди не понимают, что он делает. Хотите знать, о чем весь этот шум на GitHub? Читай дальше что бы узнать.

«Git» в GitHub

СВЯЗАННЫЕ: Отслеживание версий с помощью Subversion (SVN) для начинающих

Чтобы понять GitHub, вы должны сначала понять Git. Git - это система контроля версий с открытым исходным кодом, созданная Линусом Торвальдсом - тем же человеком, который создал Linux. Git похож на другие системы контроля версий - Subversion, CVS и Mercurial, и это лишь некоторые из них.

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

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

Точно так же люди, не имеющие отношения к разработке проекта, могут загружать файлы и использовать их. Большинство пользователей Linux должны быть знакомы с этим процессом, так как использование Git, Subversion или другого подобного метода довольно распространено для загрузки необходимых файлов, особенно при подготовке к компиляции программы из исходного кода (довольно распространенная практика для компьютерных фанатов Linux).

Git является предпочтительной системой контроля версий для большинства разработчиков, поскольку имеет множество преимуществ по сравнению с другими доступными системами. Он более эффективно сохраняет изменения файлов и обеспечивает лучшую целостность файлов. Если вам интересно узнать подробности, на странице Git Basics есть подробное объяснение того, как работает Git.

«Хаб» в GitHub

Мы установили, что Git - это система контроля версий, похожая, но лучше, чем многие доступные альтернативы. Итак, что же делает GitHub таким особенным? Git - это инструмент командной строки, но центром, вокруг которого вращается все, что связано с Git, является хаб - GitHub.com, где разработчики хранят свои проекты и общаются с единомышленниками.

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

Репозиторий

Репозиторий (обычно сокращенно «репо») - это место, где хранятся все файлы для конкретного проекта. У каждого проекта есть собственное репо, и вы можете получить к нему доступ по уникальному URL-адресу.

Форк репо

«Разветвление» - это когда вы создаете новый проект на основе уже существующего проекта. Это удивительная особенность, которая во многом способствует дальнейшему развитию программ и других проектов. Если вы найдете на GitHub проект, в который хотели бы внести свой вклад, вы можете разветвить репо, внести нужные изменения и выпустить исправленный проект как новое репо. Если исходный репозиторий, который вы разветвил для создания своего нового проекта, будет обновлен, вы можете легко добавить эти обновления в свой текущий форк.

Запросы на вытягивание

Вы создали ответвление репозитория, внесли значительную ревизию в проект и хотите, чтобы он был признан исходными разработчиками - возможно, даже включен в официальный проект / репозиторий. Вы можете сделать это, создав запрос на перенос. Авторы исходного репозитория могут увидеть вашу работу, а затем выбрать, следует ли принимать ее в официальный проект. Каждый раз, когда вы отправляете запрос на перенос, GitHub предоставляет идеальную среду для общения между вами и сопровождающим основного проекта.

Социальная сеть

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

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

Журналы изменений

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

GitHub не только для разработчиков

Все эти разговоры о том, что GitHub идеален для программистов, могут заставить вас поверить в то, что они единственные, кто сочтет его полезным. Хотя это гораздо реже, вы можете использовать GitHub для любых типов файлов. Например, если у вас есть команда, которая постоянно вносит изменения в текстовый документ, вы можете использовать GitHub в качестве системы контроля версий. Это не обычная практика, поскольку в большинстве случаев есть альтернативы получше, но об этом следует помнить.

Теперь, когда вы знаете, что такое GitHub, готовы ли вы начать? Перейдите на GitHub.com и обязательно загляните на их справочные страницы после регистрации.