Я пытаюсь удалить все метафайлы папок из проекта Unity в git-репо, который использует моя команда. Другие участники не удаляют метафайл, связанный с папкой, которую они удалили / опустошили, и распространяют ее среди всех остальныхЭто небольшое раздражение, которое не нужно видеть, поэтому я добавил это в .gitignore:
*.meta
!*.*.meta
и теперь мне нужно удалить только метаданные папки. Я бы лучше удалил метас сейчас, чем подожду, пока они появятся, и пусть мерзавец удалит их позже. Я использую git bash в Windows и пробовал следующие команды, чтобы найти только метаданные папки:
find . -name '*.meta' > test.txt #returns folders and files
find . -regex '.*\.meta' > test.txt #again folders and files
find . -regex '\.[^\.]{0,}\.meta' > test.txt #nothing
find . -regex '\.[^.]{0,}\.meta' > test.txt #nothing
find . -regex '\.{2}' > test.txt #nothing
find . -regex '(\..*){2}' > test.txt #nothing
Я знаю, что регулярные выражения интерпретируются по-разному для каждой программы / языка, но следующее даст результаты, которые я хочу получитьNotepad ++, и я не уверен, как перевести его для git или git bash:
^.*/[^.]{0,}\.meta$
, захватив строки (пути к файлам из корня репо), которые заканчиваются на /<foldername>.meta
, так как я понял, что некоторые папкисодержит "."в их имени.
Как только это выяснится, мне нужно идти построчно и git rm
файлы.
ПРИМЕЧАНИЕ
Я также могу запустить:
^.*/.*?\..*?\.meta$\n
и заменить ничем, чтобы удалить все мета-метки файлов из результатов папок и файлов, и использовать этот результат для получения мета-меток всех папок, но я также хотел бы знать, как избежать использования Notepad ++ какдополнительный шаг.