Я хочу игнорировать определенные файлы в ветке, не полагаясь на отслеживаемый .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.