Как создать исключение правил игнорирования для указанной папки c в нашем репозитории Git? - PullRequest
1 голос
/ 22 января 2020

На верхнем уровне иерархии папок нашего проекта мы создали стандартные правила игнорирования, чтобы исключить наши скомпилированные исполняемые файлы, библиотеки DLL и т. Д. c. Поскольку эти правила указаны на верхнем уровне нашего репозитория, они действуют для всех папок в иерархии проекта.

У меня есть одна указанная папка c, которая содержит несколько исполняемых файлов, которые я хочу синхронизировать с нашими Git хранилище. Как отключить исключение на уровне подпапок, чтобы exe-файлы в этой папке были синхронизированы с нашим Git репозиторием? (Подпапка является «листом», поэтому после исключения исключения она может оставаться в таком виде.)

Ответы [ 2 ]

2 голосов
/ 22 января 2020

Ответ кажется очень простым:

!*.exe

! означает обратное правило игнорирования. См. https://git-scm.com/docs/gitignore#_pattern_format:

Дополнительный префикс "!" который отрицает образец; любой соответствующий файл, исключенный предыдущим шаблоном, снова будет включен.

Вы можете добавить правило непосредственно в каталог (назовем его path/to/the/leaf), т.е. в файле path/to/the/leaf/.gitignore. Или вы можете добавить его на верхнем уровне .gitignore в виде:

!/path/to/the/leaf/*.exe

Добавить после игнорирования *.exe

1 голос
/ 22 января 2020
# ignore all . files and . folders
.*

# Dont ignore .gitignore (this file)
# This is just for verbosity, you can leave it out if
# .gitignore is already tracked or if you use -f to
# force-add it if you just created it
!/.gitignore

# ignore all . folders but include . files
.*/

What is this pattern?

.* - Этот шаблон говорит git игнорировать все файлы, которые начинаются с .

! - Это говорит git не игнорировать шаблон. В вашем случае /.gitignore

...