Я хочу игнорировать определенные файлы в ветке, не полагаясь на отслеживаемый .gitignore файл, который будет перезаписан во время слияния с другими ветвями.
Я внимательно следил за ответом на переполнение стека вместе с связанным сообщением в блоге, но мое репо, похоже, не распознает указанный excludesfile в моем .git/config. Документация Git (git-config, gitignore), похоже, не показывает, как указать и указать файл исключений для конкретной ветки.
Мой .git/config выглядит следующим образом:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
excludesfile = +/info/exclude
[branch "myspecialbranch"]
excludesfile = +/info/exclude_specialbranch
Мой .git/info/exclude файл выглядит так (по умолчанию я его не трогал):
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
.DS_Store
У меня нет файла .gitignore в моем "специальном разделе".
Если я пытаюсь игнорировать файл типа info.php, мой файл .git/info/exclude_specialbranch выглядит следующим образом:
info.php
... но он не игнорирует файл.
Если я запустил git status --ignored, он отображает только файл .DS_Store из файла exclude по умолчанию.
Однако, если я добавлю info.php в мой файл .git/info/exclude:
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
.DS_Store
info.php
он отлично игнорирует файл.
Обратите внимание, что он по-прежнему работает без строки excludesfile = +/info/exclude под [core] в .git/config. Git, кажется, знает, где общесистемный exclude без меня должен сказать это.
У меня такое ощущение, что .git/config не распознает адрес моего пользовательского исключающего файла:
excludesfile = +/info/exclude_specialbranch
... скорее всего, из-за использования + для описания местоположения каталога .git.
Каков правильный метод для обращения к пользовательским файлам исключений в (более поздних) версиях Git?
Im работает с OSX 10.9.5 и Git версии 2.2.1.