2014-10-30 4 views
2

Один из моих проектов имеет подпапку под названием «теги». Как бы то ни было, эта папка игнорируется git, хотя я не определил ее в моем файле .gitignore.Является ли «тегами» зарезервированное ключевое слово в git?

Итак, я думаю, есть список «ключевых слов», например «теги», которые по умолчанию игнорируются 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/ 
+0

Вы можете разместить вывод 'статуса мерзавец --untracked-файлов = all', а также' Ls -1/ваш/отсутствующей каталог/'и (если необходимо) указать, какие файлы должны отображаться? –

ответ

5

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

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

У вас есть глобальный файл игнорируемых файлов? An answer to this question предлагает:

git config --get core.excludesfile 

, чтобы это выяснить.

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

+0

Вы были абсолютно правы: 'git config --get core.excludesfile' дал мне' ~/.yadr/git/gitignore', который содержит элемент тегов. Спасибо! – u6f6o

+4

Чтобы не исключать теги _directories_, вы можете добавить '! Tags /' после 'тегов' в свои исключения. – jthill

+0

Ох спасибо за это, я полностью забыл, что у меня был глобальный файл git ignore, где я добавил «теги» из-за моего использования ctags (которого я больше не использую). Мой сайт, построенный с использованием Hugo, использует каталог «теги» для категорий перекрестных ссылок, и поэтому это меня очень смутило, когда я обнаружил, что щелчок по ссылке тега на моем сайте был 404'ing :-) – Integralist

4

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

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

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

+1

Это, вероятно, пустой каталог, я просто его протестировал и теги/обычно перечислены, если вы поместили в него файл –

+0

нет, это не пустая папка. На самом деле это папка, представляющая пакет java. В некоторых более глубоких подпапках имеется несколько java-файлов. После того, как я переименовал теги в теги, файлы и папки также были перечислены – u6f6o

+0

.git/info/excludes также пуст – u6f6o

1

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

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

0

Использование мерзавец регистрация игнорировать [FILE]

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

Обратите внимание на следующий метод!

# 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 
Смежные вопросы