PurpleSchool — курсы программирования онлайн
  • Пути
    • Frontend React разработчик
    • Frontend Vue разработчик
    • Backend разработчик Node.js
    • Fullstack разработчик React / Node.js
    • Mobile разработчик React Native
    • Backend разработчик Golang
    • Devops инженер
    • Backend разработчик Python
  • AI для кодаНовое
  • О нас
    • Отзывы
    • Реферальная программа
    • О компании
    • Контакты
  • Иконка открытия меню
    • Сообщество
    • PurpleПлюс
    • AI Собеседование
    • AI тренажёр
    • Проекты
PurpleSchool — платформа бесплатных roadmap и курсов для разработчиков
ютуб иконка
Telegram иконка
VK иконка
VK иконка
Курсы
ГлавнаяКаталог курсовFrontendBackendFullstack
Практика
КарьераПроектыPurpleПлюс
Материалы
БлогБаза знаний
Документы
Договор офертаПолитика конфиденциальностиПроверка сертификатаМиграция курсовРеферальная программа
Реквизиты
ИП Ларичев Антон АндреевичИНН 773373765379contact@purpleschool.ru

PurpleSchool © 2020 -2026 Все права защищены

  • Курсы
    • FrontendИконка стрелки
    • AI разработкаИконка стрелки
    • BackendИконка стрелки
    • DevOpsИконка стрелки
    • MobileИконка стрелки
    • ТестированиеИконка стрелки
    • Soft-skillsИконка стрелки
    • ДизайнИконка стрелки
    Иконка слояПерейти в каталог курсов
  • Бесплатно
    • Курсы
    • JavaScript Основы разработкиPython Основы PythonCSS CSS FlexboxКарта развитияВопросы для собеседований
    • База знанийИконка стрелки
    • Новостные рассылкиИконка стрелки
  • PurpleSchool — курсы программирования онлайн
    • AI для кодаНовое
    • Сообщество
    • PurpleПлюс
    • AI Собеседование
    • AI тренажёр
    • Проекты
    Главная
    Сообщество
    Git для начинающих: основные команды и первые шаги

    Git для начинающих: основные команды и первые шаги

    Аватар автора Git для начинающих: основные команды и первые шаги

    Антон Ларичев

    Иконка календаря16 июля 2026
    gitсистема контроля версийначинающимтерминалкомандная строкаjuniorИконка уровня junior
    Картинка поста Git для начинающих: основные команды и первые шаги

    Введение

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

    Установка и начальная настройка

    Перед началом работы нужно установить Git и представиться системе — указать имя и email. Эти данные будут привязаны к каждому вашему коммиту.

    # Проверить, установлен ли Git
    git --version
    
    # Указать имя и email (один раз для всей системы)
    git config --global user.name "Иван Иванов"
    git config --global user.email "ivan@example.com"
    
    # Посмотреть текущие настройки
    git config --list
    

    Создание репозитория

    Репозиторий — это директория, за изменениями в которой следит Git. Создать его можно двумя способами: с нуля или клонировав существующий.

    # Инициализировать новый репозиторий в текущей папке
    git init
    
    # Клонировать существующий репозиторий с GitHub
    git clone https://github.com/user/project.git
    
    # Клонировать в папку с другим именем
    git clone https://github.com/user/project.git my-project
    

    После git init в папке появится скрытая директория .git — в ней Git хранит всю историю.

    Основной рабочий цикл: add, commit, status

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

    # Посмотреть, какие файлы изменились
    git status
    
    # Добавить конкретный файл в индекс (staging area)
    git add index.js
    
    # Добавить все изменённые файлы сразу
    git add .
    
    # Сохранить изменения из индекса в коммит
    git commit -m "Добавить функцию авторизации"
    
    # Добавить в индекс и сразу создать коммит (только для отслеживаемых файлов)
    git commit -am "Исправить опечатку в комментарии"
    

    Индекс (staging area) — это промежуточная зона между рабочей директорией и историей коммитов. Он даёт возможность выбрать, какие именно изменения войдут в следующий коммит.

    Просмотр истории

    # Показать историю коммитов
    git log
    
    # Компактный вид: один коммит — одна строка
    git log --oneline
    
    # История с графом веток
    git log --oneline --graph --all
    
    # Показать изменения в конкретном коммите
    git show a3f5c2d
    
    # Посмотреть, что изменилось с момента последнего коммита
    git diff
    
    # Посмотреть изменения, уже добавленные в индекс
    git diff --staged
    

    Работа с ветками

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

    # Список всех веток (текущая отмечена звёздочкой)
    git branch
    
    # Создать новую ветку
    git branch feature/login
    
    # Переключиться на ветку
    git checkout feature/login
    
    # Создать ветку и сразу переключиться (современный способ)
    git switch -c feature/login
    
    # Слить ветку feature/login в текущую ветку
    git merge feature/login
    
    # Удалить ветку после успешного слияния
    git branch -d feature/login
    

    Принято держать ветку main (или master) стабильной и создавать отдельные ветки для каждой задачи или функции.

    Работа с удалённым репозиторием

    Удалённый репозиторий (remote) — это копия проекта на сервере, например на GitHub или GitLab. Он нужен для совместной работы и резервного хранения кода.

    # Посмотреть список удалённых репозиториев
    git remote -v
    
    # Добавить удалённый репозиторий с именем origin
    git remote add origin https://github.com/user/project.git
    
    # Отправить ветку main на удалённый сервер
    git push origin main
    
    # Забрать изменения с сервера и слить с текущей веткой
    git pull origin main
    
    # Забрать изменения без слияния (только загрузить)
    git fetch origin
    

    При первом push рекомендуется использовать флаг -u, чтобы связать локальную ветку с удалённой:

    # Связать ветку и отправить изменения
    git push -u origin main
    
    # После этого достаточно просто
    git push
    

    Отмена изменений

    Одна из главных ценностей Git — возможность откатить ошибки.

    # Отменить изменения в файле (до добавления в индекс)
    git checkout -- index.js
    
    # Современный способ отмены изменений в рабочей директории
    git restore index.js
    
    # Убрать файл из индекса, не трогая сами изменения
    git restore --staged index.js
    
    # Создать новый коммит, отменяющий указанный (безопасный способ)
    git revert a3f5c2d
    
    # Сбросить ветку к конкретному коммиту (опасно: история перепишется)
    git reset --hard a3f5c2d
    

    Отдавайте предпочтение git revert при работе в команде — он не переписывает историю, а создаёт новый коммит.

    Частые ошибки

    Коммит без сообщения или с бессмысленным сообщением. Сообщение «fix» или «asdf» не даёт понять, что было изменено. Пишите кратко и конкретно: «Добавить валидацию формы регистрации».

    Работа напрямую в ветке main. Даже в личных проектах полезно создавать отдельные ветки для задач — это формирует правильную привычку и упрощает код-ревью.

    Игнорирование файла .gitignore. Файлы node_modules, .env с секретами, артефакты сборки не должны попадать в репозиторий. Создайте .gitignore с самого начала.

    # Пример содержимого .gitignore
    node_modules/
    .env
    dist/
    .DS_Store
    

    Использование git reset --hard в общей ветке. Такая команда переписывает историю, что сломает работу коллег, уже скачавших эту ветку.

    Огромные коммиты. Один коммит должен отражать одно логическое изменение. Не накапливайте изменения за несколько дней в один огромный коммит.

    Заключение

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

    Иконка глаза5

    Комментарии

    0

    Постройте личный план изучения HTML и CSS - полный курс по вёрстке с нуля до уровня Middle — бесплатно!

    HTML и CSS - полный курс по вёрстке с нуля — часть карты развития Frontend, Mobile

    • step100+ шагов развития
    • lessons30 бесплатных лекций
    • lessons300 бонусных рублей на счет

    Бесплатные лекции

    Лучшие курсы по теме

    изображение курса

    CSS Flexbox

    Антон Ларичев
    Гарантия
    Бонусы
    иконка звёздочки рейтинга4.9
    бесплатно
    Подробнее
    изображение курса

    Основы JavaScript

    Антон Ларичев
    AI-тренажерыAI-тренажеры
    Практика в студииПрактика в студии
    Гарантия
    Бонусы
    иконка звёздочки рейтинга4.8
    3 999 ₽ 6 990 ₽
    Подробнее
    изображение курса

    Продвинутый JavaScript

    Антон Ларичев
    AI-тренажерыAI-тренажеры
    Практика в студииПрактика в студии
    Гарантия
    Бонусы
    иконка звёздочки рейтинга4.8
    3 999 ₽ 6 990 ₽
    Подробнее

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

    Картинка поста Git rebase vs merge: когда и как правильно выбирать
    Иконка аватараАнтон
    Иконка календаря23 июня 2026
    gitrebasemerge+ 2middleИконка уровня middle

    Git rebase vs merge: когда и как правильно выбирать

    Git rebase и merge решают одну задачу, но по-разному. Разбираем отличия, сценарии применения и типичные ошибки при работе с ветками.

    Иконка чипа0
    Иконка глаза265
    Иконка комментариев0
    Картинка поста Что такое API: простое объяснение для начинающих
    Иконка аватараАнтон
    Иконка календаря15 июля 2026
    apiосновыbackend+ 3juniorИконка уровня junior

    Что такое API: простое объяснение для начинающих

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

    Иконка чипа0
    Иконка глаза54
    Иконка комментариев0
    Картинка поста Domain-Driven Design на TypeScript: практическое руководство
    Иконка аватараАнтон
    Иконка календаря14 июля 2026
    TypeScriptDDDархитектура+ 2seniorИконка уровня senior

    Domain-Driven Design на TypeScript: практическое руководство

    Domain-Driven Design на TypeScript: как моделировать сложные домены с помощью Value Objects, Entities, Aggregates и Domain Events с реальными примерами кода.

    Иконка чипа0
    Иконка глаза82
    Иконка комментариев0
    Иконка чипа0