0Pricing
Git & GitHub Professional Workflow · Урок

Отмена локальных изменений

Изучите разные способы отмены или сброса локальных изменений, включая удаление файлов из области подготовки и изменение предыдущих фиксаций.

«Отмена локальных изменений» — бесплатный урок Git & GitHub Professional Workflow на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Git & GitHub Professional Workflow, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Git & GitHub Professional Workflow содержит 4 уроков всего.

Ой! Отмена локальных изменений

Вы когда-нибудь допускали ошибку или меняли решение во время работы над проектом? Не переживайте — такое случается со всеми!

Git предоставляет мощные средства для отмены изменений в локальном репозитории. В этом уроке Вы узнаете, как безопасно отменять нежелательные изменения.

Всегда начинайте с `git status`

Прежде чем что-либо отменять, крайне важно знать текущее состояние репозитория. Здесь Вашим главным помощником будет команда git status.

Она показывает, какие файлы изменены, подготовлены (готовы к фиксации) или не отслеживаются.

git status

Убрать файл из подготовленных

Иногда Вы добавляете файл в область подготовленных изменений с помощью git add, но затем понимаете, что не хотите включать его в следующую фиксацию.

Вы можете убрать его из подготовленных, вернув в изменённое (неподготовленное) состояние, с помощью команды git restore --staged <file>.

git add my_feature.js
git status
git restore --staged my_feature.js
git status

Отменить изменения рабочего каталога (файл)

Что делать, если Вы изменили файл в рабочем каталоге, но не добавили его в область подготовленных изменений и теперь хотите полностью отменить эти изменения?

Команда git restore <file> вернёт этот файл в состояние последней фиксации, фактически удалив локальные изменения.

echo "new content" > index.html
git status
git restore index.html
git status

Отменить все незафиксированные изменения

Будьте осторожны с этой командой! Если Вы хотите отменить все изменения в рабочем каталоге, которые ещё не были зафиксированы, используйте git restore .

Эта команда вернёт все изменённые файлы в текущем каталоге и его подкаталогах в состояние последней фиксации. Неподготовленные файлы будут потеряны!

echo "change 1" > file1.txt
echo "change 2" > file2.txt
git status
git restore .
git status

Изменить сообщение последней фиксации

Вы допустили опечатку в сообщении последней фиксации? Забыли упомянуть важную деталь?

Вы можете изменить сообщение самой последней фиксации с помощью команды git commit --amend. Эта команда открывает используемый по умолчанию текстовый редактор для изменения сообщения.

git commit --amend -m "Updated commit message with fix"

Изменить фиксацию, добавив пропущенные файлы

Забыли включить файл в последнюю фиксацию? Не проблема!

Добавьте забытый файл или файлы в область подготовленных изменений с помощью git add, а затем используйте git commit --amend --no-edit. Это добавит подготовленные файлы в предыдущую фиксацию, не изменяя её сообщение.

git add new_script.py
git commit --amend --no-edit

Почему предпочтительна команда `git restore`

В старых руководствах Вам могут встретиться рекомендации использовать git reset HEAD <file> для удаления файлов из области подготовленных изменений или git checkout -- <file> для отмены изменений.

Эти команды работают, но git restore — более новая и понятная команда, созданная для того, чтобы сделать такие операции яснее и безопаснее. Она предназначена именно для отмены изменений.

Объединим всё: сценарий

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

  • Сначала уберите файл из подготовленных.
  • Затем верните его к версии последней фиксации.
echo "bad config" > config.json
git add config.json
git status
git restore --staged config.json
git restore config.json
git status

Быстрая проверка: отмена изменений

Вы изменили data.csv в рабочем каталоге, но не добавили эти изменения в область подготовленных. Вы решили полностью отменить изменения и вернуть data.csv в состояние последней фиксации.

Повторение: уверенно отменяем изменения

Отличная работа! Вы научились безопасно отменять локальные изменения в Git:

  • Используйте git status, чтобы просматривать текущие изменения.
  • Используйте git restore --staged <file>, чтобы убрать файлы из области подготовленных изменений.
  • Используйте git restore <file>, чтобы отменить изменения рабочего каталога для конкретного файла.
  • Используйте git restore ., чтобы отменить все неподготовленные изменения рабочего каталога (будьте осторожны!).
  • Используйте git commit --amend, чтобы исправить сообщение последней фиксации или добавить пропущенные файлы.

Эти команды необходимы для поддержания чистой и точной истории проекта!

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

Урок «Отмена локальных изменений» бесплатный?

Да — полный текст урока «Отмена локальных изменений» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Git & GitHub Professional Workflow, подпишись на CoddyKit PRO. Курс Git & GitHub Professional Workflow содержит 4 уроков всего.

Чему я научусь в уроке «Отмена локальных изменений»?

Изучите разные способы отмены или сброса локальных изменений, включая удаление файлов из области подготовки и изменение предыдущих фиксаций. Ты практикуешь Git & GitHub Professional Workflow с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Git & GitHub Professional Workflow?

Предыдущий опыт не требуется. Git & GitHub Professional Workflow на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Отмена локальных изменений»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Git & GitHub Professional Workflow?

Да. Каждый урок Git & GitHub Professional Workflow включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Индексация, фиксация и история
  2. Отмена локальных изменений
  3. Основы ветвления и слияния
  4. Откладывание незавершённой работы
← Назад к Git & GitHub Professional Workflow