Перейти к содержимому

Введение

Термин «сохранение» в Git называется «коммитом» (committing). Коммит — это операция, которая фиксирует снимок добавленных (staged) файлов и их изменений в репозитории. Git-коммиты можно создавать локально, а затем при необходимости отправлять на удалённый сервер с помощью команды git push. При сохранении изменений в Git вы будете использовать различные команды, описанные ниже.

Введение

git add

Команда git add добавляет изменения из рабочей директории в область подготовки (staging area). С помощью этой команды вы указываете Git, что хотите включить обновления определённых файлов в следующий коммит. Однако для фактической фиксации изменений необходимо также выполнить git commit.

bash
git add <file>
git add .

git commit

Команда git commit сохраняет все текущие добавленные изменения для проекта. Коммиты создаются для фиксации текущего состояния проекта. Зафиксированные снимки являются постоянными записями состояния проекта на данный момент времени. Перед выполнением команды git commit используется команда git add для добавления изменений, которые затем будут сохранены в коммите.

bash
git commit -m "Describe the changes"

git diff

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

bash
git diff
git diff --staged

git stash

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

bash
git stash
git stash pop

.gitignore

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

gitignore
# Dependencies
node_modules/
# OS files
.DS_Store
Thumbs.db

Типичный рабочий процесс

Стандартная последовательность действий для сохранения и обмена изменениями выглядит следующим образом:

bash
git add <file>
git commit -m "Initial commit"
git push origin main

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

Практика

Каковы функции различных команд Git, связанных с сохранением изменений?

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.