Является ли теги зарезервированным ключевым словом в git?

В одном из моих проектов есть подпапка под названием «теги». Похоже, что эта папка игнорируется git, хотя я не определил ее в своем файле .gitignore.

Итак, я предполагаю, что есть список «ключевых слов», таких как «теги», которые по умолчанию игнорируются git?

Вот содержимое файла .gitignore

# Java: https://github.com/github/gitignore/blob/master/Java.gitignore
*.class
**/classes/

# Package Files #
*.jar
*.war
*.ear

# IDEA: https://github.com/github/gitignore/blob/master/Global/IntelliJ.gitignore

*.iml
*.ipr
*.iws
.idea/

# Mac OS X: https://github.com/github/gitignore/blob/master/Global/OSX.gitignore

.DS_Store
.AppleDouble
Icon


# Thumbnails
._*

# Files that might appear on external disk
.Spotlight-V100
.Trashes

# Gradle
.gradle/
**/build/
out/

# Leiningen and others
**/target/

person u6f6o    schedule 30.10.2014    source источник
comment
Можете ли вы опубликовать вывод git status --untracked-files=all, а также ls -1 /your/missing/directory и (при необходимости) указать, какие файлы должны появиться?   -  person Daniel Böhmer    schedule 30.10.2014


Ответы (4)


tags является хорошим кандидатом для глобального правила игнорирования из-за его использования командой ctags.

ctags создает индекс идентификаторов в вашем исходном коде и записывает их в файл с именем tags, который vi использует для быстрого перехода к определению идентификатора под вашим курсором, когда вы нажимаете ^]. По этой причине многие исходные каталоги обычно содержат файл tags, который не представляет интереса для контроля версий.

У вас настроен глобальный файл игнорирования? Ответ на этот вопрос предполагает:

git config --get core.excludesfile

выяснить.

И читайте дальше ответы на этот другой вопрос: также $XDG_CONFIG_HOME/git/ignore и $HOME/.config/git/ignore

person Community    schedule 30.10.2014
comment
Вы были абсолютно правы: git config --get core.excludesfile дал мне ~/.yadr/git/gitignore, который содержит элемент tags. Спасибо! - person u6f6o; 30.10.2014
comment
Чтобы не исключать теги каталоги, вы можете добавить !tags/ после tags в исключения. - person jthill; 30.10.2014
comment
о, спасибо за это, я совсем забыл, что у меня есть глобальный файл игнорирования git, в который я добавил теги из-за использования ctags (которые я больше не использую). Мой сайт, созданный с помощью Hugo, использует каталог тегов для перекрестных ссылок на категории, поэтому я был очень сбит с толку, когда обнаружил, что нажатие на ссылку тега на моем сайте приводит к ошибке 404 :-) - person Integralist; 30.08.2017

Все файлы, которые являются специальными (например, .gitignore) для git, имеют имена, начинающиеся с .git, и, за исключением самого каталога .git/, даже эти специальные файлы отслеживаются.

У вас есть файлы в папке tags/? Пустые каталоги не отслеживаются git.

Кроме того, файл или соответствующий шаблон могут быть определены в .git/info/exclude. Это похоже на файл .gitignore, но сам по себе он не отслеживается. Я использую это, например. за игнорирование временных файлов из моего редактора.

person Daniel Böhmer    schedule 30.10.2014
comment
Вероятно, это пустой каталог, я только что проверил его, и tags/ обычно отображается, если вы помещаете в него файл. - person Tim; 30.10.2014
comment
нет, это не пустая папка. На самом деле это папка, представляющая пакет Java. В некоторых более глубоких подпапках есть несколько java-файлов. После того, как я переименовал теги в теги, файлы и папки также были перечислены - person u6f6o; 30.10.2014
comment
.git/info/excludes также пуст - person u6f6o; 30.10.2014

Обычно это должно работать, если у вас есть файлы внутри папки, и папка не игнорируется.

Функция в git — это tag, так что проблем быть не должно. Все файлы git находятся в папке .git.

person René Höhle    schedule 30.10.2014

Используйте git check-ignore [ФАЙЛ]

Я пришел к той же мысли, что и вопрошающий, но это было неправильно!

Проверьте следующим способом!

# for registered as ignore, show which file the definition is set in.
$ git check-ignore -v tags
/PATH/TO/DIR/.config/git/ignore:2:tags  tags

$ git check-ignore -v no-registered-tags # for not registered, outputs nothing.

Мое состояние

$ git --version
git version 2.10.0
person purucat    schedule 07.09.2016