2017-03-21 89 views
0

我給自己定一個全局的.gitignore這樣全球VS本地的.gitignore衝突

# global .gitconfig 
[core] 
    quotepath = false 
    excludesfile = ~/.gitignore_global 

哪裏~/.gitignore_global是這樣的:

# https://www.gitignore.io/api/pycharm 

# User-specific stuff: 
.idea/**/workspace.xml 
.idea/**/tasks.xml 
.idea/**/vcs.xml 
.idea/**/jsLibraryMappings.xml 
# .idea/**/dictionaries 

# Sensitive or high-churn files: 
.idea/**/dataSources/ 
.idea/**/dataSources.ids 
.idea/**/dataSources.xml 
.idea/**/dataSources.local.xml 
.idea/**/sqlDataSources.xml 
.idea/**/dynamic.xml 
.idea/**/uiDesigner.xml 

# Gradle: 
.idea/**/gradle.xml 
.idea/**/libraries 

# Mongo Explorer plugin: 
.idea/**/mongoSettings.xml 

## File-based project format: 
*.iws 

## Plugin-specific files: 
# IntelliJ 
/out/ 

# mpeltonen/sbt-idea plugin 
.idea_modules/ 

# JIRA plugin 
atlassian-ide-plugin.xml 

# Crashlytics plugin (for Android Studio and IntelliJ) 
com_crashlytics_export_strings.xml 
crashlytics.properties 
crashlytics-build.properties 
fabric.properties 

所以,現在每當我開始與任何一個新項目intellij IDE只會跟蹤.idea文件夾中的一些文件,而其他文件則不會被跟蹤。所以很好。

問題來自我在創建.gitignore_global之前開始的一個項目。實際上,在這個項目中,我設置了一個本地.gitignore來完全忽略.idea/文件夾。

# local .gitignore created before the global one 
*.idea/ 

現在,對於老項目,我要開始跟蹤.idea文件夾中的相關的文件,所以我評論說行# *.idea/

這裏開始出現問題。

而不是僅僅跟蹤相關文件,在.gitignore_global它標記爲新的文件(未分級)規定的所有文件夾.idea內,忽略.gitignore_global(遺憾的冗餘)。

我懷疑(不知道)那時候,幾年前我不小心將.idea文件夾添加到回購站,然後刪除,然後忽略。

我該如何解決這個問題?我只想跟蹤.idea中的相關文件,但未按照.gitignore_global的指示標記爲忽略。

編輯:重要的是git讓我把所有的新文件添加到臨時區域,即使是不應該的。

+0

擁有之前提交的文件應該沒有關係。 (如果確實如此,即使在本地.gitignore整個目錄時也會遇到問題。)更可能是該回購協議的配置設置不正確以使用全局忽略文件。 –

+0

我已經打開回購的.git/config文件,它似乎沒有任何異常。這與其他項目的其他配置類似,實際上它們的工作原理如同 – Leonardo

+1

嗯......我做了一個快速測試 - 包括在目錄中添加3個文件,提交;從索引中刪除文件,忽略目錄,提交;爲其中一個文件添加全局忽略,註釋掉目錄的本地忽略。'git status'然後將'foo /'報告爲未跟蹤,但是當我添加'它'時,它只按預期展示這兩個文件...所以其他的東西是錯誤的。 –

回答

0

原來,我有2 .idea/目錄。

其中一個是由pycharm在第一級創建的,其中.git目錄生活,另一個埋在幾個級別,針對webstorm創建的webapp。

在第一級的人正確地添加/忽略文件,一個深的不是。

微不足道的原因是,像我這個全球gitignore上的.idea/**/workspace.xml這樣的正則表達式只針對一級目錄。

要使這項工作無論.idea目錄在我的回購區內,我必須將這些正則表達式更改爲**/.idea/**/workspace.xml