LINUX.ORG.RU

Как в Git исключить директорию с помощью .gitignore?

 


0

1

Мне нужно исключить директории вида:

/misc/sample/что-то_еще/build-pageStackWindow-Android_armeabi_v7a_GCC_4_9_Qt_Qt_5_9_2_for_Android_armv7-Debug

/misc/sample/что-то_еще/build-pageStackWindow-Desktop_Qt_5_9_2_GCC_64bit-Debug


В файл .gitignore добавлял различные варианты:

*_64bit-Debug/*
*_armv7-Debug/*
*_64bit-Release/*
*_armv7-Release/*


*/*_64bit-Debug/*
*/*_armv7-Debug/*
*/*_64bit-Release/*
*/*_armv7-Release/*


*/*_64bit-Debug
-*/*_armv7-Debug
-*/*_64bit-Release
-*/*_armv7-Release


И ни один не блокирует добавления в индекс новых файлов, появляющихся в этих директориях. Как правильно написать пути?

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

★★★★★

man gitignore

       ·   If the pattern ends with a slash, it is removed for the purpose of the following description, but it would only find a match with a
           directory. In other words, foo/ will match a directory foo and paths underneath it, but will not match a regular file or a symbolic
           link foo (this is consistent with the way how pathspec works in general in Git).
post-factum ★★★★★
()

Один из подходов - указывать не игнорируемые имена, а принимаемые. Надёжно, но, к сожалению, проблематично(букв весьма много). Как пример:

/**
!/.gitignore

!/CMakeLists.txt

!/include/
!/include/module/
!/include/module/*.h++

!/src/
!/src/*.c++

!/submodule-path
Для небольших репозиториев сгодится

Deleted
()
Ответ на: комментарий от Xintrea
*_64bit-Debug/*

Так он похерит все, что лежит внутри директории *_64bit-Debug, не включая ее саму.

*_64bit-Debug/
Так - вместе с директорией.
*/*_64bit-Debug/*
Тут вначале нужно было две *

isnullxbh
()

Вроде выше уже решили,, но такое ещё бывает, если уже закоммитил этот файл

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.