Статьи

Небольшой курс по Git — от первых команд до командной работы и выката в прод

Основы Git

Страница 1 из 8 · 2026-10-25 · 3 мин чтения

Зачем нужен Git

  • хранит историю: кто, когда и что изменил;
  • позволяет вернуться к любой версии;
  • дает ветки для параллельной работы;
  • нужен для совместной работы и выката кода.

Установка

sudo apt install gitbrew install git

В Windows: winget install Git.Git. Проверка:

git --version

Первая настройка

git config --global user.name "Имя Фамилия"git config --global user.email "me@example.com"git config --global init.defaultBranch maingit config --global core.autocrlf inputgit config --global pull.rebase falsegit config --list

В Windows для core.autocrlf ставьте true.

Три области Git

рабочая папка  --git add-->  индекс (staging)  --git commit-->  репозиторий
  • Рабочая папка — файлы, которые вы правите.
  • Индекс — то, что войдет в следующий коммит.
  • Репозиторий — сохраненная история коммитов.

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

mkdir projectcd projectgit init

Появится скрытая папка .git: в ней вся история. Удалите ее, и репозиторий исчезнет.

Цикл работы

echo "Hello" > hello.txtgit statusgit add hello.txtgit commit -m "Add hello.txt"

Основные команды:

КомандаДействие
git statusсостояние файлов
git add файлдобавить в индекс
git add .добавить все изменения
git add -pдобавлять по частям, выборочно
git commit -m "текст"создать коммит
git commit -am "текст"закоммитить все отслеживаемые изменения

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

git loggit log --onelinegit log --oneline --graph --allgit log -p файлgit log --author="Anna"git show HEADgit show a1b2c3d

HEAD — указатель на текущий коммит. Каждый коммит имеет хэш, например a1b2c3d: достаточно первых 7 символов.

Просмотр изменений

git diffgit diff --stagedgit diff main..featuregit diff HEAD~1
  • git diff — изменения, не добавленные в индекс;
  • git diff --staged — изменения в индексе, то есть что попадет в коммит.

Удаление и переименование

git rm файлgit rm --cached файлgit mv старое.txt новое.txt

--cached убирает файл из Git, но оставляет на диске.

.gitignore

Файл со списком того, что Git не отслеживает:

node_modules/target/build/*.log.env.idea/.vscode/.DS_Store

Правила:

  • в репозиторий не кладут зависимости, результат сборки, логи и секреты;
  • .gitignore создают в самом начале проекта;
  • уже закоммиченный файл игнор не затронет: сначала git rm --cached файл.

Готовые шаблоны для любого языка: github.com/github/gitignore.

Хорошее сообщение коммита

Add email validation to signup formReject addresses without domain part. Previously such userswere created and failed later at confirmation step.
  • первая строка до 50–70 символов, в повелительном наклонении: «Add», «Fix», «Remove»;
  • пустая строка, затем пояснение, почему сделано изменение;
  • один коммит — одно логическое изменение;
  • не коммитьте «wip», «fix», «asdf».