git init, add, commit и status
Инициализируйте репозиторий, добавляйте изменения в индекс с помощью git add, создавайте коммиты и изучайте git status и git log, чтобы понимать историю.
«git init, add, commit и status» — бесплатный урок Frontend Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Frontend Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Frontend Academy содержит 4 уроков всего.
Зачем нужен контроль версий?
Система контроля версий отслеживает каждое изменение Вашего кода во времени. Вы можете увидеть, что, когда и почему изменилось. Ошибки можно исправить. Несколько человек могут работать над одной кодовой базой. Каждая профессиональная команда использует систему контроля версий.
git init — создание репозитория
Выполните git init в любой папке, чтобы инициализировать репозиторий. Git создаёт скрытый каталог .git, в котором хранится вся история проекта.
mkdir my-project && cd my-project
git init
# Initialized empty Git repository in ./my-project/.git/Три области
В Git есть три области: рабочий каталог (файлы, которые Вы редактируете), область подготовки (файлы, отмеченные для следующей фиксации), репозиторий (история зафиксированных изменений). Область подготовки позволяет создавать точные фиксации.
Проверка состояния — что изменилось?
git status показывает, какие файлы не отслеживаются, изменены или подготовлены. Постоянно используйте эту команду в рабочем процессе, чтобы понимать текущее состояние.
git status
# Output:
# On branch main
# Changes not staged for commit:
# modified: index.html
# Untracked files:
# styles.cssДобавление изменений в область подготовки
git add filename добавляет в область подготовки определённый файл. git add . добавляет все изменения в текущем каталоге. git add -p позволяет добавлять изменения в интерактивном режиме, фрагмент за фрагментом.
git add index.html # stage one file
git add src/ # stage a directory
git add . # stage everything
git add -p # interactive stagingСохранение снимка
git commit -m 'message' создаёт постоянный снимок подготовленных изменений. Сообщение должно описывать, зачем было внесено изменение, а не что именно изменилось. Каждый снимок имеет уникальный хеш SHA.
git commit -m 'feat: add user authentication form'
git commit -m 'fix: correct email validation regex'
git commit -m 'refactor: extract validation into helper function'Стандартизированный формат фиксаций
Многие команды используют формат стандартизированных фиксаций: type(scope): description. Распространённые категории: добавление функции, исправление, переработка, проверка, документация, технические задачи и производительность. Это позволяет автоматически создавать журналы изменений и управлять семантическим версионированием.
feat(auth): add Google OAuth login
fix(cart): prevent duplicate item addition
docs(api): add rate limit documentation
chore(deps): upgrade React to 18.3Просмотр истории
git log показывает историю фиксаций. git log --oneline выводит компактное представление, по одной строке на фиксацию. git log --graph отображает структуру веток.
git log --oneline --graph
# * a1b2c3d feat: add dark mode toggle
# * d4e5f6g fix: resolve mobile nav overflow
# * 7h8i9j0 refactor: extract theme hookПросмотр изменений
git diff показывает изменения, не добавленные в область подготовки. git diff --staged показывает подготовленные изменения. git diff HEAD показывает все изменения с момента последней фиксации.
Файл .gitignore
Перечисляйте файлы и каталоги, которые нужно исключить из контроля версий, в файле .gitignore. Всегда исключайте node_modules, .env, dist и каталоги build. GitHub предоставляет шаблоны gitignore для каждого языка и фреймворка.
# .gitignore
node_modules/
dist/
.env
.env.local
*.log
.DS_Store
coverage/Отмена неподготовленных изменений
git restore filename отменяет изменения в файле рабочего каталога, возвращая его к последней зафиксированной версии. Операция необратима: изменения будут потеряны.
git restore index.html # discard unstaged changes
git restore --staged file.js # unstage without losing changesБыстрая проверка
Что делает команда git add .?
Итог: основные команды контроля версий
Инициализация репозитория создаёт репозиторий. Проверка состояния показывает текущее состояние. Добавление помещает файлы в область подготовки. Фиксация сохраняет снимок с сообщением. Просмотр журнала показывает историю. Сравнение показывает изменения. .gitignore исключает файлы. Всегда пишите содержательные сообщения к фиксациям, объясняющие зачем внесено изменение, а не что именно изменилось.
Часто задаваемые вопросы
Урок «git init, add, commit и status» бесплатный?
Да — полный текст урока «git init, add, commit и status» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Frontend Academy, подпишись на CoddyKit PRO. Курс Frontend Academy содержит 4 уроков всего.
Чему я научусь в уроке «git init, add, commit и status»?
Инициализируйте репозиторий, добавляйте изменения в индекс с помощью git add, создавайте коммиты и изучайте git status и git log, чтобы понимать историю. Ты практикуешь Frontend Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Frontend Academy?
Предыдущий опыт не требуется. Frontend Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «git init, add, commit и status»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Frontend Academy?
Да. Каждый урок Frontend Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- git init, add, commit и status
- Ветвление: branch, checkout и merge
- Удалённые репозитории: push, pull и clone
- Рабочий процесс pull request на GitHub