JavaRush /Курсы /Модуль 1: Python Core /Основы работы с Git

Основы работы с Git

Модуль 1: Python Core
7 уровень , 8 лекция
Открыта

9.0 Немного истории

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

Изначально в Git DVCS ветка по умолчанию называлась master По умолчанию каждый репозиторий Git имел ветку master. Разработчики редко удаляли ее, так как она играла важную роль в разработке.

Летом 2020 года, на волне протестов и социальных волнений, использование терминов master и slave (хозяин и раб) в IT вызвало бурную дискуссию. В поисках замены master предлагались разные варианты, например, default и primary. Но в итоге наибольшую популярность приобрел термин main.

GitHub принял меры и отказался от термина master при инициализации репозитория Git. Переключение GitHub с master на main возможно в настройках аккаунта Repositories или командой:

$ git branch -m master main

В некоторых учебных материалах все еще может встречаться термин master. Подробнее о переходе на main можно узнать по следующим ссылкам:

9.1 Что такое Git и зачем он нужен

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

Основные понятия Git:

Репозиторий

Репозиторий (или "репо") — это место, где хранится вся история проекта, включая все изменения и версии файлов. В Git репозиторий включает рабочую директорию, индекс (или стадию) и базу данных объектов.

Коммиты

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

Ветви

Ветвь (branch) — это независимая линия разработки. По умолчанию, Git создает ветку main (ранее master). Вы можете создавать новые ветви для разработки новых фич или исправлений, а затем объединять их обратно в основную ветвь.

Слияние и ребейз

Слияние (merge) и ребейз (rebase) — это два способа интеграции изменений из одной ветви в другую. Слияние объединяет истории двух ветвей, создавая новый коммит, а ребейз переносит коммиты одной ветви на вершину другой, изменяя историю коммитов.

9.2 Основные команды Git

Вот таблица с основными командами Git для управления версиями:

Команда Описание
git init Инициализирует новый Git-репозиторий в текущей директории.
git clone Клонирует репозиторий из URL в новую директорию.
git add Добавляет файлы в индекс для следующего коммита.
git commit Фиксирует подготовленные изменения в репозитории.
git push Отправляет изменения из локального репозитория в удалённый.
git pull Обновляет текущую ветку с последней версией из удалённого репозитория.
git branch Показывает, создаёт или удаляет ветки.
git merge Сливает изменения указанной ветки в текущую ветку.
git rebase Переносит изменения на новую базу (чаще всего, это другая ветка).

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

9.3 Три места хранения кода

Когда вы будете пользоваться системой контроля версий для вашего кода, ваш код, грубо говоря, будет храниться в трех местах:

1. Удаленный репозиторий:

Это централизованное место для хранения вашего кода, обычно размещенное на таких сервисах, как GitHub, GitLab или Bitbucket. Они обеспечивают централизованное хранение кода и являются основой для совместной работы.

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

2. Локальный репозиторий:

Локальный репозиторий — это ваша персональная копия кода, хранящаяся на вашем компьютере. В этом репозитории вы можете выполнять все операции с Git (коммиты, ветвления, слияния) без необходимости подключения к интернету.

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

3. Рабочая директория:

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

После внесения изменений, вы можете добавлять их в индекс (staging area), а затем фиксировать в локальном репозитории. Рабочая директория связана с текущей веткой в вашем репозитории и изменение веток изменяет содержимое рабочей директории.

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

9.4 GitHub самый популярный бесплатный репозиторий

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

GitHub позволяет пользователям создавать репозитории для управления проектами, контролировать и отслеживать изменения в коде, сотрудничать с другими разработчиками и вести разработку в открытом или частном порядке. Он предоставляет такие функции, как форки, ветки, пул-реквесты и слияния, что позволяет разработчикам легко совместно работать над проектами.

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

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

9.5 Регистрация на GitHub

Шаг 1. Зайдите на https://github.com

Шаг 2. Зарегистрируйтесь.

Шаг 3. Нажмите на кнопку New repository для создания нового репозитория.

Шаг 4. Зададим параметры для репозитория:

  1. Имя репозитория.
  2. Публичный или приватный. Для начала выберите "Публичный"
  3. Добавьте файл README – он нам понадобится в будущем.
  4. Нажмите Create repository

Параметры которые пока пропустили:

  • Файл .gitignore. Пока пропустим этот пункт. Он полезен для исключения определенных файлов из вашего репозитория.
  • Лицензия. Она определяет, как другие могут использовать и распространять вашу работу.
  • Ветка main. По умолчанию GitHub использует main в качестве имени основной ветки в вашем репозитории.

Шаг 4. Получаем наш первый репозиторий

Установка Git на ваш компьютер

Здесь все просто: жмем на первую ссылку гугла, устанавливаем и всё.

Если используете PyCharm, не обязательно устанавливать git отдельно. Если PyCharm обнаружит, что Git не установлен в вашей системе, он предложит вам установить его во время первоначальной настройки.

Установка для Windows

Как обычно, нужно скачать exe файл и запустить его. Загрузите установщик Git с официального сайта: https://git-scm.com/downloads

Установка для Linux

Обычно git уже установлен и есть в дистрибутивах линукса, чтобы проверить это, нужно открыть терминал и прописать: git --version

Используйте менеджер пакетов вашего дистрибутива для установки Git. Например, в Ubuntu или Debian вы можете использовать следующую команду:

sudo apt-get install git

Установка на macOS

Здесь также для начала нужно проверить, есть ли уже гит (смотри выше, как на линуксе).

Если все же нет, самый простой путь — это скачать последнюю версию.

Комментарии
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ