2015-06-29 56 views
-2

我有一个存储库,而.gitignore正好在存储库下。.gitignore不会隐藏自己,也不会隐藏文件

当我做git status时,有一个令人讨厌的文件src/main/resource/git.properties不断出现,有时会阻止我做git pull

我搜索到.gitignore可以提供帮助,所以我将路径src/main/resource/git.properties添加到文件的顶部。如果我做一个cat .gitignore,它给

src/main/resource/git.properties 
logs/*.log 

我也没有 git config --global core.excludesfile .gitignore

然后我做git status

On branch master 
Your branch is up-to-date with 'origin/master'. 

Changes not staged for commit: 
    (use "git add <file>..." to update what will be committed) 
    (use "git checkout -- <file>..." to discard changes in working directory) 

    modified: .gitignore 
    modified: src/main/resources/git.properties 

no changes added to commit (use "git add" and/or "git commit -a") 

我期待在做git status会说有到主没有变化。

请帮忙。

+2

它可能是'resource'和'resources'之间的区别吗? –

+1

我不认为'git config --global core.excludesfile .gitignore'是正确的 - 这应该是整个系统上文件的单个实例的绝对路径。我建议把它取出(也许手动编辑你的全局git配置来做到这一点) –

+0

[停止跟踪并忽略Git中文件的更改]可能的重复(http://stackoverflow.com/questions/936249/stop-跟踪和忽略更改到文件中的git) –

回答

0

.gitignore文件不影响已经签入存储库的文件。你必须做两件事情:

  • 删除src/main/resource/git.properties

  • 它添加到.gitignore

一旦这两个变化承诺,它不会在Git中出现更多的,即使文件存在于文件系统中也是如此。

使用git config --global core.excludesfile .gitignore是不寻常的......我会从你的全局配置文件中删除它。通常情况下,您将指定一个全局排除文件,其中一个带有绝对路径,该文件适用于所有目录。你不需要这个,因为普通的.gitignore应该可以正常工作。