Github - папка gitignore не исключает все файлы каталогов - PullRequest
0 голосов
/ 19 октября 2018

Я использую Github Desktop на Windows 10. У меня есть файл .gitignore, с которым я хотел бы игнорировать все в каталоге, включая все подкаталоги.

Что расстраиваетявляется то, что большинство файлов исключены, но я все еще получаю несколько случайных файлов, которые я не могу игнорировать.

У меня есть каталог, скажем, My Dir/Sub-dir, я хочуигнорировать.Я также хочу игнорировать все файлы расширения, скажем, *.swf.Таким образом, я записываю этот .gitignore файл:

My Dir/Sub-dir

*.swf

Но, возвращаясь к Github Desktop, я все равно получаю два файла, похожих на следующие в списке:

My Dir/Sub-dir/anotherdir/randomfile.xml
My Dir/Sub-dir/animation.swf

В чем дело?Это ошибка?Или я что-то упустил?

РЕДАКТИРОВАТЬ:

Другие альтернативы .gitignore s, которые я пробовал:

My*Dir/Sub-dir
*.swf

My\ Dir/Sub-dir
*.swf

My Dir/Sub-dir/
*.swf

/My Dir/Sub-dir
*.swf

РЕДАКТИРОВАТЬ:

Итак, я попробовал команду git rm --cached <file> намои файлы, и это работало - пока один из файлов снова не изменится.Затем Github Desktop еще раз говорит, что они должны быть обновлены.

ps Возможно, они каким-то образом проиндексированы в основной ветке, так как я сейчас нахожусь в другой ветке.Это вызвало бы это?И если да, то как бы я удалил эти файлы из всех веток?

Ответы [ 2 ]

0 голосов
/ 19 октября 2018

Чтобы игнорировать все деревья в определенных каталогах, добавьте косую черту в каталог:

# Ignore directory at all levels, even if the directory is nested under other directories
My Dir/Sub-dir/
# Ignore the directory only if it exists at the root of your repository
/My Dir/Sub-dir/
# Ignore the sub-directory, no matter where it appears within your repository
Sub-dir/
# Ignore all swf files
*.swf

Если вы продолжаете испытывать трудности, ваша проблема может заключаться в том, что файлы, которые вы хотите игнорировать, уже проиндексированыс помощью git (с помощью команды git add).Если файлы еще не зафиксированы, вы можете удалить их из индекса с помощью git reset -- 'My Dir/Sub-dir/'.Если ваши файлы были зафиксированы, вы можете удалить их из индекса с помощью git rm --cached <file>.

0 голосов
/ 19 октября 2018

Я думаю, пробелы могут быть проблемой.Попробуйте

My\ Dir/Sub-dir

или

My*Dir/Sub-dir

Это может быть хорошим справочником .gitignore всего каталога с пробелами в имени

...