1. Что такое система Git и GitHub


https://ru.wikipedia.org/wiki/Git

Git — это распределённая система контроля версий (VCS). Если говорить простыми словами, это инструмент, который помогает отслеживать историю изменений в файлах, особенно в исходном коде проекта.

Давайте представим это на аналогии с документом:

Без Git: Вы работаете над файлом project.txt. Сохраняете его, потом сохраняете как project_новая_версия.txt, затем project_финальная.txt, а потом project_точно_финальная.txt. Запутаться и потерять нужное изменение очень легко.

С Git: У вас есть одна папка (репозиторий) с файлом project.txt. Каждый раз, когда вы вносите значимое изменение, вы "сохраняете" его состояние, делая коммит. Git аккуратно хранит всю историю этих "сохранений", и вы в любой момент можете посмотреть, что было неделю назад, или откатиться к той версии.

Ключевые особенности и принципы Git

Распределённость (Distributed)

Это главное отличие от старых централизованных систем. У каждого разработчика, работающего с проектом, есть на компьютере полная копия репозитория со всей его историей. Это значит:

  • Можно работать без интернета (сохранять коммиты локально).
  • Нет единой точки отказа — если один сервер "умрёт", проект можно восстановить с копии любого из разработчиков.

Ветвление (Branching) и Слияние (Merging)

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

  • Ветки в Git очень легковесные и создаются буквально за секунды. Это поощряет их частое использование.
  • Когда функциональность готова, вы сливаете ветку обратно в основную.

Целостность данных

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

Создатель Git

https://ru.wikipedia.org/wiki/%D0%A2%D0%BE%D1%80%D0%B2%D0%B0%D0%BB%D1%8C%D0%B4%D1%81,_%D0%9B%D0%B8%D0%BD%D1%83%D1%81

GitHub — сервис для хранения репозиториев

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

Основные возможности и применение GitHub:

  • Совместная работа: Несколько человек могут работать над одним проектом из любой точки мира, не мешая друг другу.
  • Хранение и управление код: GitHub хранит всю историю изменений проекта, позволяя при необходимости откатиться к любой предыдущей версии.
  • Открытые проекты (Open Source): Платформа — крупнейший хост для open-source проектов, где можно изучать чужой код, сообщать об ошибках или предлагать свои улучшения.
  • Портфолио для разработчика: Многие используют GitHub для демонстрации своих проектов потенциальным работодателям.
  • Автоматизация: С помощью инструментов вроде GitHub Actions можно автоматизировать процессы тестирования, сборки и развертывания приложений.