git忽略上传配置文件

薄洪涛6年前Linux1660

在使用git上传代码到github的时候,通常我们使用的编辑器(比如phpstorm等)会产生一些配置文件(.idea等),或者一些项目的配置信息,比如数据库信息;我们是不希望提交这些文件的;所以要用到一个git的忽略文件功能;

对于忽略文件,我们有两种情况:

1、忽略的文件已经上传,我们希望删掉代码库中的文件,保留本地的文件

2、忽略的文件还未上传

对于第一种情况,我们采用如下方式

git rm --cached -r .idea/    删除代码库中的文件
git commit -m '删除忽略文件'
git push origin master

对于第二张情况,我们需要配置.gitignore文件

针对你想忽略的文件,我们在项目的某个目录建立.gitignore文件,注意: 

  1. gitignore的作用范围是当前文件夹及其子文件夹;

  2.  gitignore中规则越往上,优先级越高;

规则如下:

#               表示此为注释,将被Git忽略
*.a             表示忽略所有 .a 结尾的文件
!lib.a          表示但lib.a除外
/TODO           表示仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/          表示忽略 build/目录下的所有文件,过滤整个build文件夹;
doc/*.txt       表示会忽略doc/notes.txt但不包括 doc/server/arch.txt
 
bin/:           表示忽略当前路径下的bin文件夹,该文件夹下的所有内容都会被忽略,不忽略 bin 文件
/bin:           表示忽略根目录下的bin文件
/*.c:           表示忽略cat.c,不忽略 build/cat.c
debug/*.obj:    表示忽略debug/io.obj,不忽略 debug/common/io.obj和tools/debug/io.obj
**/foo:         表示忽略/foo,a/foo,a/b/foo等
a/**/b:         表示忽略a/b, a/x/b,a/x/y/b等
!/bin/run.sh    表示不忽略bin目录下的run.sh文件
*.log:          表示忽略所有 .log 文件
config.php:     表示忽略当前路径的 config.php 文件
 
/mtk/           表示过滤整个文件夹
*.zip           表示过滤所有.zip文件
/mtk/do.c       表示过滤某个具体文件

对于上诉需求,我们只需要在.gitignore文件中填写.idea/就可以了

如果,我们希望所以的项目都不提交.idea/目录,就需要全局配置了

 git config --global core.excludesfile '~/.gitignore'

在这个用户目录下的.gitignore中添加要排除的文件夹 ,然后添加.idea/就可以了


标签: git

相关文章

服务器:swap告警,系统异常报错

服务器:swap告警,系统异常报错

登陆自己的小服务器,用composer下载个东西,一直报killed[root@host voyager]# composer require tcg/voya...

centos放开防火墙443端口

查看是否开启443 firewall-cmd --zone=public --query-port=443/tcp开启firewall-cmd --zone=p...

Supervisor使用详解

Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程...

编辑器之神Vim的使用

在这个蔚蓝色的星球上,流传着两大神器的传说: 据说Emacs是神的编辑器,而Vim是编辑器之神。今天我们来学习下编辑器之神Vim的使用;想当年我开始学习Vim的时候,最抓狂的事情莫过于怎么退出vim;...

nginx正向代理与反向代理

nginx正向代理与反向代理

正向代理正向代理是一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。浏览器中输...

centos上为php安装扩展

今天做了一个查询心跳数据的功能,相关的数据放在redis里面,我才用了yii框架链接redis的时候,线上服务器报Class yii\redis\Connection does not exist造成...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。