.gitignore对文件夹内的文件不起作用



我有以下.gitignore文件:

bin/*

我的项目有以下结构:

myFolder
----bin
-------file
----anotherFolder
----yetAnotherFolder

.gitignore位于文件夹myFolder

为什么file还在被提交?

.gitignore有几种使用方法。

  1. 文字文件名,例如:.myFile

  2. 目录,例:dir/

通过在末尾添加/,将忽略整个目录。

  1. 通配符,例如:*.log

  2. 否定,例:!example.log

  3. 双星号,例如:**/logslogs/**/*.log

在您的情况下,您可能应该使用bin/,它将忽略该目录内的所有内容。

更多信息在这里或在这里。

只需将以下内容放入.gitignore而不是/*

bin

将导致该文件夹中的所有文件被忽略。

如果你已经提交了文件,那么这将不起作用。

https://git-scm.com/docs/gitignore

gitignore文件指定Git应该忽略的未跟踪文件。已经被Git跟踪的文件不受影响;

如果这是你的情况。提交后检出这个答案。gitignore

如果你的文件在提交期间被更新,那是因为它被跟踪了。

.gitignore对提交过程没有影响。.gitignore文件的唯一功能是不添加要跟踪的文件。如果你用通配符发出git add命令,或者递归地对整个文件夹发出命令,那么你的.gitignore将会启动并排除那些指定的文件。

如果您希望取消跟踪文件,但仍将其保留在您的repo中,则使用

git rm --cached file

小心使用git rm,它真的会删除文件!

相关内容

  • 没有找到相关文章

最新更新