JavaRush /Курсы /JAVA 25 SELF /Введение в Git: зачем нужен контроль версий

Введение в Git: зачем нужен контроль версий

JAVA 25 SELF
25 уровень , 0 лекция
Открыта

1. Проблема без контроля версий: почему просто копировать файлы — плохая идея

Давайте начнём с жизненной ситуации. Представьте, что вы работаете над своим Java-проектом. Всё идёт хорошо, пока не наступает момент "экспериментов". Вы решаете что-то поменять, но боитесь сломать рабочую версию. Что делать? Конечно, копировать проект!

В итоге на вашем диске появляются такие шедевры:

MyProject/
├── Main.java
├── Main_backup.java
├── Main_final.java
├── Main_final2.java
├── Main_точно_финал.java
├── Main_точно_точно_финал.java

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

Без контроля версий:

  • Легко потерять или перепутать рабочий код.
  • Невозможно "откатиться" к старой версии.
  • Сложно работать вдвоём или втроём.
  • Хаос и страх перед экспериментами.

Именно эти проблемы решают системы контроля версий — такие как Git.

Видео

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

Видео состоит из двух частей:

  • Сначала вы разберете основы работы с Git через терминал. Этот фундаментальный подход поможет вам понять, что происходит «под капотом» системы.
  • Затем вы перейдете к практике в IntelliJ IDEA, где научитесь выполнять те же операции с помощью удобного графического интерфейса, как это ежедневно делают профессионалы.

Зеркало на Vimeo: Лекция 26 Git

2. Зачем разработчику нужен Git?

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

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

Репозиторий

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

Коммиты

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

        gitGraph
        commit id: "1"
        commit id: "2"
        commit id: "3"
        commit id: "4"
        commit id: "5"
        commit id: "6"
    

Каждый коммит — это "снимок" проекта, который следует за предыдущим, формируя последовательную историю изменений.

Ветви

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

        gitGraph
        commit id: "1"
        commit id: "2"
        branch develop
        commit id: "3"
        commit id: "4"
        commit id: "5"
        checkout main
        commit id: "6"
        commit id: "7"
        merge develop
        commit id: "8"
        commit id: "9"
    

От основной ветки main "отпочковывается" ветка develop для параллельной разработки. После завершения работы изменения из develop сливаются обратно в main.

3. Основные команды Git (то, что под капотом)

Ниже — список основных команд для работы с Git через терминал. Важно понимать, какие команды лежат в основе всех операций. Однако мы будем придерживаться GUI-подхода и научимся выполнять все эти действия с помощью удобного графического интерфейса IntelliJ IDEA. Смотрите на эти команды как на то, что происходит "под капотом".

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

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

        sequenceDiagram
        participant Рабочая директория
        participant Область индексации (Staging)
        participant Локальный репозиторий
        participant Удаленный репозиторий

        Рабочая директория ->> Область индексации (Staging): git add (Подготовить)
        Область индексации (Staging) ->> Локальный репозиторий: git commit (Сохранить локально)
        Локальный репозиторий ->> Удаленный репозиторий: git push (Отправить на сервер)
        Удаленный репозиторий ->> Рабочая директория: git pull (Скачать обновления)
    

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

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

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

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

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

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

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

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

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

5. GitHub — ваше портфолио

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

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

6. Создание вашего первого репозитория на GitHub

Шаг 1. Зайдите на https://github.com и зарегистрируйтесь.

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

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

  1. Имя репозитория: придумайте осмысленное имя.
  2. Публичный или приватный: для учебных проектов лучше выбрать "Public", чтобы его могли видеть другие.
  3. Add a README file: обязательно поставьте эту галочку. README — это "лицо" вашего проекта.
  4. Add .gitignore: нажмите на выпадающий список и выберите шаблон для вашего языка.
  5. Choose a license: можно пропустить.
  6. Нажмите Create repository.

Шаг 4. Поздравляем, ваш первый удаленный репозиторий создан!

7. Установка и настройка Git

Хотя основы Git можно изучать через консольные команды (как показано в видео), в ежедневной работе 99% разработчиков используют именно удобные инструменты, встроенные в среду разработки. Наша цель — научить вас работать так, как это делают профессионалы.

Интерфейс для работы с Git во всех современных IDE от JetBrains — будь то IntelliJ IDEA для Java/Kotlin, Rider для C# или PyCharm для Python — практически идентичен. Это значит, что научившись работать с Git в одной среде вы сможете легко применять эти навыки в любой другой. Поэтому мы будем использовать IntelliJ IDEA как универсальный пример. Все, что вы увидите здесь, будет выглядеть и работать точно так же и в вашей любимой IDE.

Чтобы работать с Git на вашем компьютере, Git нужно сначала установить. Если вы используете IntelliJ IDEA, она, скорее всего, предложит вам установить Git автоматически, если он не найден в системе. Мы рекомендуем согласиться с этим предложением — это самый простой путь.

Закройте текущий проект, выбрав File > Close Project, и нажмите Clone Repository.

Если же вы хотите установить его вручную, воспользуйтесь официальным сайтом: https://git-scm.com/downloads.

8. Немного об истории: main vs master

Ранее ветка в Git по умолчанию называлась master. Однако в 2020 году сообщество разработчиков и крупнейшие платформы, включая GitHub, перешли на использование более нейтрального термина — main.

Это важно знать, так как в некоторых старых статьях или проектах вы все еще можете встретить упоминание ветки master. В наших лекциях и в современных проектах основной веткой всегда будет main.

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

1
Задача
JAVA 25 SELF, 25 уровень, 0 лекция
Недоступна
Виртуальный Зверополис: Знакомство с голосами 🧬
Виртуальный Зверополис: Знакомство с голосами 🧬
1
Задача
JAVA 25 SELF, 25 уровень, 0 лекция
Недоступна
Персонализация питомцев: Присваиваем имена с super 🔼
Персонализация питомцев: Присваиваем имена с super 🔼
Комментарии (9)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Gans Electro Уровень 28
14 июля 2026
Без реальной практики вся эта херня с легкостью забывается. Даже если вы примените это 4-5 раз, это не гарантирует что вы ничего не забудете. Поэтому лучше изучать такие темы уже в ходе написания проекта или работы. Впереди еще половина курса, и на нее уйдет пару месяцев. Тогда придется заново все это проходить
Cherepoq Уровень 26
6 апреля 2026
Да курс полезный, если задачи не решать и проматывать повторы, то можно даже в пределах полугода уложиться в знания для перехода в найм. Но 2 часа на гит одним видосом это сильно. Еще забавно, что дошел до лекции ровно в дату её выхода, по крайней мере на vimeo
Gans Electro Уровень 28
9 июля 2026
Хе-хе. И 3 месяца как не активен. Забил на следующем уровне. Учить джаву не так уж легко, точнее вообще учиться. Пол года это только на этот курс. Сейчас ошибка думать что закончив этот курс можно идти в найм. После этого нужно хотя бы изучить спринг и другие сателлит темы. Я бы сказал что этот курс может покрыть только половину всего что нужно
Dilmurod Уровень 66
10 января 2026
Залайкайте, посчитаем сколько людей достигли этой прекрасной темы. Главное, не сдавайтесь
Andrey Mityakin Уровень 3
28 января 2026
Не сдаемся, держимся😉
Юрий Уровень 26
3 декабря 2025
видео не грузиться. И с зеркала тоже. Как можно посмотреть данный урок?
Alex Blizz Уровень 17
12 января 2026
впн вам голубчик в помощь
Big198801 Уровень 34
10 ноября 2025
git commit -m "25 lvl reached"
Andrey Уровень 36
21 сентября 2025
25