git忽略上传配置文件

薄洪涛6年前Linux1088

在使用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

相关文章

git常用命令

太简单的clone,push ,pull就不说了,每天都用的没必要总结git放弃本地更改,强制拉取远程更新git fetch --all git reset -...

nginx转换post请求为get

nginx转换post请求为get

今天调银联收银台回调的时候,遇到一件特别坑的事情,我通过银联付款后,本来应该跳转到我自己定义的回调页面,但是每次都会返回405错误码,很是恼火;查了下日志2019/06/24 14:58:3...

php脚本以守护进程的方式运行

写了一个聊天室,需要手动执行php start.php start命令去启动workerman的握手程序,但是退出xshell后,进程会被杀掉,因为之前用过node的forever,感觉php应该也有...

centos放开防火墙443端口

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

Supervisor使用详解

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

阿里云服务器更改默认ssh端口

我们通常服务器默认的ssh端口是22,但是使用默认端口是不安全的,所以我们需要更改ssh端口1.修改ssh配置文件vi /etc/ssh/sshd_config找到 #Port 22 ,然后...

发表评论    

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