↓Перейти к содержанию
  1. Git: руководства и команды/

Введение в Git: полное руководство для новичков за 30 минут

·7 минут·

Если вы когда-либо работали с Google Docs и видели функцию «История версий», у вас уже есть базовое понимание контроля версий. Git — это то же самое для кода, но значительно мощнее и гибче. За следующие 30 минут вы создадите свой первый репозиторий, сделаете коммиты, поработаете с ветками и опубликуете код на GitHub.

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

Шаг 1: Установка Git #

Прежде всего установите Git на свой компьютер. Процесс зависит от операционной системы.

Windows: Скачайте инсталлятор с официального сайта git-scm.com и запустите его. В процессе установки рекомендуется оставить большинство настроек по умолчанию.

macOS: Если у вас установлен Homebrew, выполните:

brew install git

Либо скачайте инсталлятор с git-scm.com.

Linux (Ubuntu/Debian):

sudo apt update
sudo apt install git

После установки проверьте, что всё прошло успешно:

git --version
# git version 2.45.0

Подробнее об установке и настройке читайте в статье «Установка и настройка Git».

Шаг 2: Первоначальная настройка #

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

git config --global user.name "Ваше Имя"
git config --global user.email "[email protected]"

Флаг --global означает, что эти настройки применяются ко всем репозиториям на вашем компьютере. Если нужно настроить параметры только для одного проекта — выполните ту же команду без этого флага внутри папки проекта.

Проверьте конфигурацию:

git config --list
# user.name=Ваше Имя
# [email protected]

Шаг 3: Создание первого репозитория #

Репозиторий — это папка проекта, которую Git отслеживает. Создайте новую папку и инициализируйте в ней Git:

mkdir my_first_project
cd my_first_project
git init

После выполнения git init Git создаёт скрытую папку .git внутри вашего проекта. В ней хранится вся история изменений. Не трогайте и не удаляйте эту папку — иначе потеряете историю.

Проверьте текущий статус:

git status
# On branch main
# No commits yet
# nothing to commit (create/copy files and use "git add" to track)

Подробнее о команде git init читайте в статье «git init: инициализация репозитория».

Шаг 4: Создание файлов и добавление в индекс #

Создайте первый файл проекта:

echo "# Мой первый проект" > README.md

Проверьте статус — Git видит новый файл, но ещё не отслеживает его:

git status
# Untracked files:
#   README.md

Добавьте файл в staging area (индекс) командой git add:

git add README.md

# Проверьте снова
git status
# Changes to be committed:
#   new file: README.md

Теперь файл «подготовлен» к коммиту. Команда git add не сохраняет изменения — она лишь говорит Git, какие изменения включить в следующий снимок.

Чтобы добавить сразу все файлы из текущей папки:

git add .

Шаг 5: Создание первого коммита #

Коммит — это снимок состояния вашего проекта в конкретный момент времени. Создайте первый коммит с описательным сообщением:

git commit -m "Начальный коммит: добавлен README"

Флаг -m позволяет указать сообщение прямо в командной строке. Без него Git откроет текстовый редактор для ввода сообщения.

Проверьте, что коммит создан:

git log --oneline
# a1b2c3d Начальный коммит: добавлен README

Поздравляем — вы только что создали первый коммит! Git запомнил текущее состояние вашего проекта и присвоил ему уникальный идентификатор (хеш SHA-1).

Подробнее о создании коммитов читайте в статье «git commit: полное руководство».

Шаг 6: Просмотр истории изменений #

По мере работы над проектом история коммитов будет расти. Просматривайте её командой git log:

# Полный формат (автор, дата, сообщение)
git log

# Компактный формат
git log --oneline

# Красивый граф с ветками
git log --graph --oneline --all

# Последние 5 коммитов
git log -5

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

Шаг 7: Изменение файлов и новые коммиты #

Откройте README.md и добавьте в него текст. Затем повторите цикл add → commit:

# Добавьте содержимое в файл
echo "Это мой первый проект на Git" >> README.md

# Проверьте статус
git status
# modified: README.md

# Добавьте изменения в индекс
git add README.md

# Создайте коммит
git commit -m "Обновлён README с описанием проекта"

# Посмотрите историю
git log --oneline
# b2c3d4e Обновлён README с описанием проекта
# a1b2c3d Начальный коммит: добавлен README

Этот цикл — изменить → добавить → закоммитить — основа работы с Git.

Шаг 8: Работа с ветками #

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

# Создать ветку и сразу переключиться на неё
git switch -c feature/new-feature

# Проверьте текущую ветку
git branch
# * feature/new-feature
#   main

Теперь делайте изменения и коммиты — они будут только в этой ветке, не влияя на main:

echo "console.log('New feature');" > feature.js
git add feature.js
git commit -m "feat: добавлена новая функция"

Когда функция готова, вернитесь на main и объедините ветки:

git switch main
git merge feature/new-feature

Git объединит все изменения из feature/new-feature в main. После успешного слияния ветку можно удалить:

git branch -d feature/new-feature

Шаг 9: Работа с удалённым репозиторием (GitHub) #

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

  1. Создайте аккаунт на GitHub
  2. Создайте новый репозиторий (не добавляйте README при создании)
  3. Свяжите локальный репозиторий с удалённым:
git remote add origin https://github.com/username/my_first_project.git

# Переименуйте ветку в main (современный стандарт)
git branch -M main

# Отправьте коммиты на GitHub
git push -u origin main

Флаг -u устанавливает связь между локальной и удалённой веткой. После этого можно просто писать git push без дополнительных параметров.

Теперь ваш код на GitHub! Другие люди могут просматривать его и вносить свой вклад.

Полный пример: от начала до конца #

Вот компактный пример всего рабочего цикла:

# Инициализация проекта
mkdir my_project
cd my_project
git init
git config user.name "Иван Петров"
git config user.email "[email protected]"

# Первые файлы и коммит
echo "# My Project" > README.md
echo "console.log('Hello World');" > main.js
git add README.md main.js
git commit -m "Initial commit: add README and main.js"

# Создание ветки для новой функции
git switch -c feature/new-api
echo "console.log('New feature');" >> main.js
git add main.js
git commit -m "feat: добавлен новый API-эндпоинт"

# Слияние с main
git switch main
git merge feature/new-api
git branch -d feature/new-api

# Публикация на GitHub
git remote add origin https://github.com/username/my_project.git
git push -u origin main

Основные команды Git — шпаргалка #

Вот команды, которые вы будете использовать каждый день:

Инициализация и конфигурация:

  • git init — создать репозиторий
  • git config --global user.name "Имя" — задать имя пользователя
  • git config --global user.email "email" — задать email

Отслеживание изменений:

  • git status — посмотреть состояние файлов
  • git add <файл> — добавить файл в индекс
  • git add . — добавить все изменения
  • git commit -m "сообщение" — создать коммит

История:

  • git log — просмотр истории
  • git log --oneline — компактный формат
  • git diff — посмотреть изменения

Ветки:

  • git branch — список веток
  • git switch -c <имя> — создать и переключиться на ветку
  • git switch <имя> — переключиться на ветку
  • git merge <ветка> — слить ветку

Удалённые репозитории:

  • git remote add origin <url> — добавить удалённый репозиторий
  • git push — отправить изменения
  • git pull — получить изменения
  • git clone <url> — клонировать репозиторий

Часто задаваемые вопросы #

Что будет, если я удалю папку .git? Вы потеряете всю историю Git, но файлы проекта останутся нетронутыми. Будьте осторожны.

Почему нужно делать git add перед git commit? Staging area даёт вам контроль над тем, что попадает в коммит. Вы можете изменить десять файлов, но закоммитить только три — именно те, что относятся к одной логической задаче.

Можно ли отменить коммит? Да. git reset HEAD~1 отменяет последний коммит, оставляя изменения в рабочей директории. git revert <hash> создаёт новый коммит, отменяющий указанный.

Зачем нужны ветки? Ветки позволяют работать над несколькими задачами параллельно. Пока один разработчик делает новую функцию в ветке feature, другой исправляет баг в ветке bugfix — и никто не мешает друг другу.

Что если я забыл добавить файл в коммит? Используйте git commit --amend --no-edit — добавьте забытый файл через git add, а затем выполните эту команду, чтобы включить его в предыдущий коммит без изменения сообщения.

Заключение #

Вы только что изучили основы Git: инициализацию репозитория, staging area, создание коммитов, ветки и работу с GitHub. Это 80% того, что вам понадобится в повседневной работе. Остальное приходит с практикой.

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

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

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

По теме #