Git все еще показывает удаленные файлы после фиксации
Как удалить удаленные файлы из репозитория Git?
Я удалил папку библиотеки JavaScript, которая содержала много файлов. Затем я пошел, чтобы совершить изменения следующим образом:
git add .
git commit "message"
git status
но он показывает все эти файлы как "удаленные ....".
Как я могу заставить их уйти?
8 ответов
Если в нем перечислены файлы в разделе "для фиксации", просто перейдите к фиксации; файлы останутся удаленными. (Git также отслеживает удаления, а не только изменения.)
Если в нем перечислены файлы в разделе "изменено, но не обновлено", то у вас есть два варианта:
- восстановить их, восстановив версию в индексе:
git checkout path/to/folder
- отметьте их удаленными в 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