Git по-прежнему показывает удаленные файлы после коммита - PullRequest
55 голосов
/ 29 ноября 2010

Как я могу удалить удаленные файлы из моего репозитория Git?

Я удалил папку библиотеки JavaScript, которая содержала много файлов.Затем я пошел, чтобы зафиксировать изменения следующим образом:

git add .
git commit "message"
git status

Но он показывает все эти файлы как "удаленные ....".

Как я могу заставить их исчезнуть?

Ответы [ 8 ]

115 голосов
/ 08 декабря 2011

Это также добавит удаления.

git add -u .

Проверьте, что готовится к фиксации:

git status
34 голосов
/ 29 ноября 2010

Если он перечисляет файлы в разделе «для фиксации», тогда просто продолжите фиксацию;файлы останутся удаленными.(Git также отслеживает удаления, а не только изменения.)

Если в разделе «изменено, но не обновлено» перечислены файлы, у вас есть два варианта:восстановление версии в индексе: git checkout path/to/folder

Пометить их как удаленные в Git, затем зафиксировать: git rm -r path/to/folder
11 голосов
/ 01 июня 2015

git add -u .

Если вы наберете git status и в результате появится сообщение до даты , но красным цветом будет указано

удалено: папка / example0.jpg
удалено: folder / example1.jpg
удалено: папка / example2.jpg

Вы должны ввести это, чтобы удалить его навсегда git add -u . тогда весь красный текст будет отмечен зеленым.

**** Не забывайте пробел между буквой u и периодом

7 голосов
/ 29 ноября 2010

Вам необходимо записать, что они действительно предназначены для удаления. Так же, как вы записываете изменения файла.

Просто вместо git add вы будете использовать git rm.

2 голосов
/ 29 ноября 2010

вам нужно сообщить git, что он удален

git rm folder

или, если вы не хотите держать их в репо, вы можете добавить их в .gitignore

0 голосов
/ 28 сентября 2018

У меня также были удаленные файлы красного цвета, когда я взял pull из upstream/master. Я пробовал разные вещи, но ничего не получалось.
В конце концов мне пришлось отменить все изменения (зафиксированные, промежуточные, неустановленные) для моей разветвленной ветви и пришлось повторно синхронизировать репозиторий с основной веткой восходящего потока.

git reset --hard upstream/master
git pull upstream master
0 голосов
/ 06 апреля 2016

Я обнаружил, что у меня неожиданная «удаленная» папка после того, как я «rm xxx» удалил некоторый локальный файл.

Сначала я создаю временную ветку и фиксирую ненужную «удаленную» папку, а затем удаляю эту временнуюветка.

0 голосов
/ 06 октября 2015

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

используйте команду:

git reset HEAD filename

, а затем выполните git status , чтобы убедиться, что удаляемый файл не отображается

, затем выполните git commit

...