2014-10-30 55 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