Что такое 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 не может выбрать вариант сам. Он помечает спорные места в файле, а вы решаете, что оставить, затем сохраняете результат и завершаете слияние. Это штатная ситуация, а не поломка.
Можно ли отменить сделанный коммит?
Да, и несколькими способами. Безопасный вариант — создать новый коммит, отменяющий изменения: история сохраняется, и у коллег ничего не ломается. Переписывать уже отправленную историю можно только по договорённости с командой, иначе чужие ветки расходятся с вашей.