问题:
用 git 时常常会习惯把不想上传到远程代码库中的一些本地文件(夹)放在一个叫做 .gitignore 的文件中,例如常见的本地 build 文件夹,一些 IDE的项目管理文件等;项目中的实际例子如下:
######################################################################
# Build Tools
.gradle
/build/
!gradle/wrapper/gradle-wrapper.jar
target/
!.mvn/wrapper/maven-wrapper.jar
######################################################################
# IDE
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### JRebel ###
rebel.xml
### NetBeans ###
nbproject/private/
build/*
nbbuild/
dist/
nbdist/
.nb-gradle/
######################################################################
######################################################################
# Others
*.log
*.xml.versionsBackup
*.swp
!*/build/*.java
!*/build/*.html
!*/build/*.xml
开发过程中想新增一个文件夹配置,忽略其中的文件;在.gitignore文件中新增了一行
######################################################################
/sql/*
######################################################################
想忽略掉项目下的sql文件夹内容;
再次提交,发现不起作用
.gitignore文件不起作用的原因
根本原因是:
.gitignore 文件只是 ignore 没有被 staged(cached) 文件,对于已经被 staged 的文件,加入 ignore 文件时一定要先从 staged 移除。
参考如下:来自github
因此,要想用 gitignore 忽略文件,必须先把它们从staged中移除;
.gitignore文件不起作用的其解决办法
打开git命令行工具:如下如下命令
git rm -r --cached D:/项目文件夹地址/sql。
git add .
git commit -m "fixed files"
重新提交即可