Git все еще показывает удаленные файлы после фиксации

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

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

git add .
git commit "message"
git status

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

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

8 ответов


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

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

  1. восстановить их, восстановив версию в индексе:git checkout path/to/folder
  2. отметьте их удаленными в Git, затем зафиксируйте:git rm -r path/to/folder

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

git add -u .

проверьте, что поставлено, чтобы быть совершенным с:

git status

git add-u .

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

удалено: папка / example0.формат JPG
удалено: папка/пример1.формат JPG
удалено: папка/Пример 2.формат JPG

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

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


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

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


вам нужно сказать git, что он удален

git rm folder

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


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

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

git reset HEAD filename

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

затем git commit


У меня есть неожиданная "удаленная" папка после того, как я "rm xxx", чтобы удалить какой-то локальный файл.

сначала я создаю временную ветвь и фиксирую папку "удалено", а затем удаляю эту временную ветвь.


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

git reset --hard upstream/master
git pull upstream master