不知道为什么,但是.gitignore不是';行不通

不知道为什么,但是.gitignore不是';行不通,git,Git,我已将/build/添加到我的.gitingore中,但每当我进行构建时,git显示我的build文件夹未被跟踪。我有以下文件夹层次结构 ~/workspace/ProjectName/ ➤ 617a838|mainline⚡ 1361 ± : tree -La 1

我已将
/build/
添加到我的
.gitingore
中,但每当我进行构建时,
git
显示我的
build
文件夹未被跟踪。我有以下文件夹层次结构

~/workspace/ProjectName/ ➤ 617a838|mainline⚡
1361 ± : tree -La 1                                                                                                                                                                                                  [6d1h6m] ✭
.
├── .DS_Store
├── .git
├── .gitignore
├── Config
├── build
├── build.xml
├── checkstyle.xml
├── configuration
├── src
└── tst

5 directories, 5 files

~/workspace/ProjectName/ ➤ 617a838|mainline⚡
1362 ± : git status                                                                                                                                                                                                  [6d1h7m] ✭
On branch master
Your branch is up-to-date with 'origin/master'.
Untracked files:
  (use "git add <file>..." to include in what will be committed)

        build

nothing added to commit but untracked files present (use "git add" to track)

我注意到,
.gitingore
是一个隐藏文件。这有关系吗?

您的
.gitignore
可以直接在
.gitignore
文件及其所有内容之外挖掘名为
build
的文件夹

根据定义,文件是隐藏的。在*nix系统上,所有以点开头的文件都被视为隐藏文件,这一点丝毫不会中断

忽略不起作用的原因很简单,
build
不是一个文件夹,而是一个文件。git状态的输出至少说明了这一点,这就是为什么忽略不起作用。如果
build
是一个文件夹,其中包含一些可跟踪的内容,那么它将在
git status
输出中显示为
build/
,而不是
build


如果
build
实际上是指向另一个文件夹的符号链接,这也可以解释这种情况,因为符号链接是指向文件夹的文件,而不是文件夹本身。在这种情况下,您需要排除文件
build
,而不是文件夹
build
,或者为了两者都正确,需要排除名为
build
的文件和文件夹,因为您可以通过添加斜杠作为最后一个字符将类型固定为文件夹,但无法将类型固定为文件。因此,如果这是您的情况,请将
/build/
更改为
/build
,符号链接将被忽略。

删除左侧的/是否会有所不同?也许这个答案将有助于您的
git状态
输出表明
build
是一个文件,而不是一个目录(“文件夹”)。
/build/
/eclipse-bin/