git忽略上传配置文件

薄洪涛6年前Linux1164

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

相关文章

linux免密登陆

linux免密登陆

最近有些累,所以今天的教程就水一篇;所谓免密登陆,就是说我有一台服务器,不想让人家知道具体的ip或者用户名密码,只让使用者从跳板机登陆,通过ssh xxx@ip  这种来登陆;1、 首先跳板...

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

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

编辑器之神Vim的使用

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

linux下mysql报错Access denied for user 'root'@'%

开发机器用的linux,但是装好mysql用navicat链接的时候,会报错Access denied for user 'root'@'%,命令mysql -u root也是...

nginx正向代理与反向代理

nginx正向代理与反向代理

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

前后端分离如何实现用户身份认证及鉴权?

前后端分离如何实现用户身份认证及鉴权?

假设我们不适用前后端分离,那么登录成功之后,我们会把用户的信息存储到session中,之后的每一次请求,都会带着cookies中的session_id,服务端会自行验证此用户是否登录及登录是否失效,那...

发表评论    

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