Глава 23 · Часть I · Git и GitHub с нуля

Что такое Git и что такое GitHub

Git и GitHub не синонимы: Git работает локально, а GitHub предоставляет сетевой сервис поверх репозитория.

SafeSort · Часть 1 из 6Git и GitHub
GitHub

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

ПонятиеЧто это
Python-проектисходный код и файлы SafeSort на диске, с которыми мы работаем
Git-репозиторийистория изменений этих файлов, хранящаяся в скрытом каталоге .git
GitHub-репозиторийGit-репозиторий на сервере GitHub вместе с веб-интерфейсом
GitHub Projectотдельный инструмент планирования: Issues, доска и представления

Git работает полностью локально на вашем компьютере и хранит историю изменений файлов. Ему не нужны ни аккаунт GitHub, ни интернет, ни удалённый репозиторий. Можно установить Git, создать репозиторий, сделать сто коммитов и ни разу не подключиться к сети. GitHub работает как отдельный интернет-сервис поверх Git: он хранит удалённую копию репозитория и добавляет то, чего у самого Git нет: Issues, Pull Request, Projects, Actions и Releases. GitHub построен вокруг Git, но обратной зависимости нет: Git прекрасно работает без GitHub, а вот GitHub без Git, напротив, работать не может. Этот сервис хранит и обслуживает Git-репозитории.

Ваш компьютерGit-репозиторийработает полностьюлокально, без…git push / gitpullнеобязательнаясинхронизация историиGitHubудалённая копия +Issues, Projects, PR,Actions, Releases
Git работает с локальной историей самостоятельно. GitHub предоставляет сетевой сервис поверх Git. Зависимость односторонняя: Git не нуждается в GitHub, а GitHub использует Git-репозитории.
Репозиторий на GitHub — не то же самое, что GitHub Project
Это одна из самых частых путаниц у начинающих. Репозиторий хранит код и его историю. GitHub Project служит отдельным, необязательным инструментом планирования: можно иметь репозиторий вообще без Project, и можно завести Project, объединяющий Issues сразу из нескольких репозиториев. Часть II этой главы разберёт эту разницу подробно.

Официальные ресурсы Git

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

РесурсДля чего он нужен
Официальный сайт GitЗагрузки Git, сведения о проекте и ссылки на учебные материалы.
Справочная документация GitТочное описание отдельных команд: git init, git clone, git add, git commit, git branch, git switch, git fetch, git pull и git push.
Книга Pro GitПоследовательное объяснение модели Git. Это учебная книга, а не только перечень параметров команд.
Git Source Code Mirror on GitHubЗеркало исходного кода Git на GitHub. Сам Git не зависит от GitHub: размещение зеркала показывает, что Git и GitHub остаются разными системами.

Логотип Git

Цветной знак на этой странице взят из официального набора Git без перерисовки и изменения цвета. Git Logo by Jason Long, лицензия CC BY 3.0.

Официальная документация
Официальный сайт Git
Справочная документация Git
Книга Pro Git
Git Source Code Mirror on GitHub
Git logos
Официальная документация
Start your journey: What is GitHub?
Перевод и учебная адаптация официальной документации GitHub. Исходный материал — CC BY 4.0.

Коротко

  • Git работает локально и следит за историей файлов; ему не нужен интернет.
  • GitHub предоставляет удалённую копию репозитория и инструменты Issues, Pull Request, Projects, Actions и Releases.
  • Репозиторий хранит код и историю, а GitHub Project служит для планирования. Это независимые понятия.