Материал предоставлен http://it.rfet.ru

Удаление файлов

Теперь рассмотрим еще одну распространенную операцию: удаление. По своей сути удаление файла — это такое же изменение репозитория, как и уже известные Вам операции добавления и редактирования файлов. Однако есть одно важное отличие: для внесения в ревизию информации о том, что файл должен быть удален, недостаточно простого удаления файла из рабочей папки. Вы также должны отметить этот файл в staging area как удаленный с помощью команды git rm.

Перейдите в тренировочный репозиторий и удалите файл README:

rm ./README

Статус репозитория теперь должен содержать следующие строки:

# Changed but not updated:
#   (use "git add/rm <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#	deleted:    README
#

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

git rm ./README

Обратите внимание, что теперь файл внесен в подготовленную область как удаленный:

# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#	deleted:    README

Внимание! Вы должны четко понимать разницу между файлами, находящимися под контролем версий и неотслеживаемыми файлами. Если Вы удаляете файл, существовавший в прошлых ревизиях, Вы всегда имеете возможность его восстановить из базы данных объектов Git (о том, как это сделать, подробно рассказано в главе «Работа с ревизиями»). Если же Вы собираетесь удалить файл, добавленный после момента последней фиксации изменений, Вы должны быть предельно внимательны: файлы, внесенные в область подготовки, также поддаются восстановлению, но Вы можете непреднамеренно потерять их; неотслеживаемые же файлы вовсе не поддаются восстановлению средствами Git.

Редактирование файловПодготовка изменений