🌿
Веб-сайты

Основы Git: система контроля версий, которую должен знать каждый разработчик

18.01.2026
← Все статьи

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

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

Создание репозитория и первый коммит

Работа с Git начинается с создания репозитория. Репозиторий это специальная папка, в которой хранится ваш проект и вся его история изменений. Чтобы инициализировать Git в существующей папке проекта, выполните следующую команду в терминале. Эта команда создаёт внутри папки скрытую директорию .git, именно в ней хранятся вся история и настройки проекта, и удалять её ни в коем случае не нужно.

git init
git config user.name "Ваше имя"
git config user.email "email@example.com"

После создания репозитория необходимо добавить файлы в историю Git. Это происходит в два этапа: сначала вы добавляете файлы в область подготовки, которую называют staging, затем фиксируете их с помощью коммита. Коммит это снимок состояния вашего проекта в определённый момент времени, и каждый коммит сохраняется со своим описанием. Следующие команды добавляют все файлы и создают первый коммит в истории проекта.

git add .
git commit -m "Первая версия проекта"

Здесь команда git add . добавляет все изменённые файлы текущей папки в область подготовки, а git commit записывает их в историю с комментарием. Важно, чтобы комментарий был чётким и осмысленным, потому что в будущем вам или вашей команде нужно будет понимать, с какой целью было сделано каждое изменение. Вместо плохого описания вроде «исправление» гораздо полезнее написать «исправлена ошибка проверки пароля в форме входа».

Проверка состояния и просмотр истории

В процессе работы очень важно знать, какие файлы изменились и какие из них ещё не закоммичены. Для этого используется команда git status. Она даёт вам полную информацию о файлах в области подготовки, об изменённых, но ещё не добавленных файлах, а также о совершенно новых файлах, которые Git пока не отслеживает. Привычка часто использовать эту команду поможет вам всегда держать ситуацию под контролем.

git status
git log --oneline
git diff

Для просмотра истории вашего проекта вы используете команду git log. Флаг --oneline показывает каждый коммит в одну компактную строку, что помогает быстро просматривать длинную историю изменений. Команда git diff в свою очередь показывает ещё не закоммиченные изменения построчно, то есть вы точно видите, какие строки были добавлены или удалены с момента последнего коммита.

Ветки и слияние: параллельная работа

Ветка или branch это одна из самых мощных возможностей Git. Ветка позволяет вам отделиться от основного кода и спокойно работать над новой функцией. Если ваша новая идея не сработает, вы просто удалите ветку, и основной код не пострадает. Если же она окажется удачной, вы объедините её с основной веткой. Следующий пример показывает, как создать новую ветку и переключиться на неё.

git branch new-feature
git checkout new-feature

# или одной командой:
git checkout -b new-feature

После того как вы поработали в новой ветке и зафиксировали изменения, их нужно объединить с основной веткой. Это делается с помощью команды merge. Сначала вы возвращаетесь на основную ветку, а затем сливаете в неё ветку с вашей функцией. Git автоматически пытается объединить изменения из обеих веток, и в большинстве случаев это происходит без каких-либо проблем.

git checkout main
git merge new-feature

Разрешение конфликтов

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

<<<<<<< HEAD
моё изменение
=======
изменение из другой ветки
>>>>>>> new-feature

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

git add conflicted-file.php
git commit -m "Разрешён конфликт слияния"

Remote, push и pull: работа с GitHub

До сих пор мы работали только с локальным репозиторием на вашем компьютере. Но чтобы делиться кодом с другими или надёжно его хранить, нужен удалённый сервер. Именно здесь на помощь приходят такие сервисы, как GitHub и GitLab. Remote это удалённая копия, с которой связан ваш локальный репозиторий. Следующая команда связывает ваш локальный репозиторий с проектом на GitHub.

git remote add origin https://github.com/user/project.git
git push -u origin main

Команда push отправляет ваши локальные изменения на удалённый сервер, чтобы другие участники команды могли их увидеть. Наоборот, чтобы получить изменения, внесённые другими, на свой компьютер, вы используете команду pull. При работе в команде хорошей привычкой считается делать pull каждый день в начале работы, потому что это снабжает вас последними изменениями ваших коллег и предотвращает множество конфликтов.

git pull origin main

.gitignore и правильный рабочий процесс

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

node_modules/
.env
*.log
vendor/
.DS_Store

Наиболее эффективный рабочий процесс это создание отдельной ветки для каждой новой функции или исправления, работа в ней и слияние с основной веткой по завершении. Такой подход называется рабочим процессом feature branch, и он поддерживает стабильность кода. Основная ветка main всегда должна находиться в рабочем, стабильном состоянии, а все эксперименты ведутся в отдельных ветках, не затрагивая её до окончательной проверки.

Изучение Git может показаться сложным в начале, но рассмотренные в этой статье основные команды покрывают 90 процентов вашей повседневной работы. Лучший способ обучения это практика: создайте небольшой проект, вносите в него изменения, играйте с ветками и намеренно создавайте конфликты, чтобы потренироваться их разрешать. Со временем Git станет вашим самым надёжным помощником, и вы уже не сможете представить работу без него.

Похожие статьи

🌾 Сайт сельского хозяйства и агробизнеса: каталог продукции и B2B-продажи ❤️ Сайт благотворительного фонда: прозрачный сбор и доверие донора 🎉 Сайт банкетного зала и места для свадьбы: организация события и онлайн-бронь 🚙 Сайт аренды автомобилей: каталог авто, калькулятор цен и онлайн-бронь
🌐 Язык
🇺🇿 O'zbek 🇺🇿 Ўзбек 🇷🇺 Русский 🇬🇧 English