Prog Academy
RU UA
Программирование

Что такое Git?

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

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

Git — это программа, которая работает локально. GitHub, GitLab и Bitbucket — сервисы, где репозитории хранятся в облаке и куда добавлены код-ревью, задачи и автоматические сборки. Владение Git — базовое требование в вакансиях любого направления.

Где применяется

Git используют все, кто работает с кодом: разработчики, тестировщики-автоматизаторы, DevOps-инженеры, аналитики со скриптами. Через него идёт весь процесс — ветка под задачу, коммиты по ходу работы, запрос на слияние, код-ревью коллеги и автоматический запуск тестов перед попаданием в основную ветку.

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

Пример

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

git checkout -b feature/promo-codes

# ...правим файлы...

git add src/promo.js
git commit -m "Add promo code validation"

git pull --rebase origin main
git push origin feature/promo-codes
Типичный цикл работы над задачей: своя ветка, сохранённые изменения, отправка на сервер.

Частые вопросы

Чем Git отличается от GitHub?

Git — это программа контроля версий, которая работает у вас на компьютере. GitHub — онлайн-сервис, где репозитории хранятся в облаке и вокруг них надстроены командные функции: ревью кода, задачи, автоматические сборки. Альтернативы GitHub — GitLab и Bitbucket.

Зачем нужны ветки?

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

Что делать при конфликте слияния?

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

Можно ли отменить сделанный коммит?

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

Подробная статья в блоге →

Связанные термины