问题描述
今天在公司查看项目源码,当我在某个文件夹下新增加了一个README.md
文件之后,想要将它push
到远程仓库之前,习惯性地git status
一下,发现,提示与上游分支一致,无文件要提交,干净的工作区!
我明明就新增加了一个文件,怎么可能一致呢?
问题解释
原来,这是因为git提供了一种文件被忽略的方式。
比如:有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件啦。
Git就基于这一点需求,提供了一个解决的方案:在Git工作区的根目录下创建一个特殊的.gitignore
文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。
当然,你也可以不从头写.gitignore
文件,因为GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。所有配置文件的地址为:常见的.gitignore。
当然,你也可以选择自己从头开始书写:
- 在当前项目下用命令
vim .gitignore
打开.gitignore文件; - 在其中加入想要隐藏的文件名。例如:
想隐藏所有的 .project 文件,则只需在 .gitignore 里输入 *.project 即可;
想隐藏gen目录下的所有的文件,则只需在 .gitignore 里输入 gen 即可。 - 输入wq保存,退出。
需要注意的是,文件和目录的不同隐藏方法。
编写的.gitignore的内容,例如: