Невозможно быстро удалить много файлов в Git - PullRequest
6 голосов
/ 11 марта 2009

Я удалил 777 файлов, которые были в ветке Git newFeature от

rm !(example)

Я хотел бы совершить. Git попросите меня вручную удалить каждый из удаленных файлов

git rm file

Написание вышеуказанной команды для всех файлов 777, имена которых не похожи, заняло бы много времени.

Как я могу удалить эти 777 файлов в моей ветке Git newFeature ? Я хочу сохранить их в качестве резервной копии для последующего использования, но сейчас я хочу быть без них.

Ответы [ 2 ]

19 голосов
/ 11 марта 2009
git add -u

Это "удалит" все файлы, которые вы удалили.

С Git add :

и
--update

Обновлять только файлы, о которых git уже знает, размещая измененный контент для фиксации и помечая удаленные файлы для удаления.
Это похоже на то, что "git commit -a" делает при подготовке к фиксации, за исключением того, что обновление ограничено путями, указанными в командной строке.
Если пути не указаны, все отслеживаемые файлы в текущем каталоге и его подкаталогах обновляются.


«Водопроводный путь» действительно был чем-то вроде сценарий в одну строку

for i in ` git st | grep deleted | awk ‘{print $3}’ ` ; do git rm $i; done

или для Windows с GnuWin32

git st | grep deleted | gawk "{print \"git rm \"$3}" | cmd

Но git add -u - это основной фарфоровый способ сделать это.

1 голос
/ 05 апреля 2011

Мне нравится ... git status | grep удален | cut -f2 -d: | xargs git rm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...