我有以下.gitignore文件:
bin/*
我的项目有以下结构:
myFolder
----bin
-------file
----anotherFolder
----yetAnotherFolder
.gitignore位于文件夹myFolder
为什么file
还在被提交?
.gitignore
有几种使用方法。
-
文字文件名,例如:
.myFile
-
目录,例:
dir/
通过在末尾添加
/
,将忽略整个目录。
-
通配符,例如:
*.log
-
否定,例:
!example.log
-
双星号,例如:
**/logs
或logs/**/*.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
,它真的会删除文件!