2014-10-30 95 views
2

我的一个项目有一个名为“tags”的子文件夹。看起来,这个文件夹被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

您可以发布-1 /你/失踪/目录下的'git的状态--untracked-文件= all'以及'LS输出'(如果有必要)指出哪些文件应该显示出来? – 2014-10-30 14:24:30

回答

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'里面有一个tags元素。谢谢! – u6f6o 2014-10-30 14:40:43

+4

为了不排除标签_directories_,您可以在排除内容中的'tags'后面添加'!tags /'。 – jthill 2014-10-30 15:00:34

+0

哦,谢谢你,我完全忘了我有一个全局的git忽略文件,因为我使用ctags(我不再使用)添加了“tags”。我使用Hugo构建的网站使用“标签”目录作为交叉引用类别,因此当我发现点击我网站上的标签链接404'ing时,这让我非常困惑:-) – Integralist 2017-08-30 06:58:14

4

是特殊(如.gitignore)与git有.git和除.git/目录本身即使这些特殊文件被跟踪开头的名称的所有文件。

您的tags/文件夹中是否有文件?空目录不会被git跟踪。

此外,文件或匹配模式可以在.git/info/exclude中定义。这就像.gitignore文件,但不会自行跟踪。我使用例如忽略来自我的编辑器的临时文件。

+1

这可能是一个空目录,我只是测试它和标签/通常列出,如果你把一个文件在里面 – 2014-10-30 13:57:08

+0

不,它不是一个空文件夹。实际上它是一个代表java包的文件夹。在一些更深的子文件夹中有几个java文件。在我将标签重命名为标签后,文件和文件夹也列出了 – u6f6o 2014-10-30 14:04:35

+0

.git/info/excludes也是空的 – u6f6o 2014-10-30 14:06:54

1

通常情况下,如果文件夹内有文件且文件夹不被忽略,应该可以正常工作。

git中的函数是标签所以不应该有任何问题。所有的git文件都在.git文件夹中。

0

使用混帐检查忽略[文件]

我打的是同样的想法类似的提​​问,但它是不正确!

用以下方法检查!

# 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