账户中心 退出系统
开发文档 资讯·分享 技术交流 会员登录
phpGrace GSCMS 公众号系统
git 忽略文件及文件夹操作详解
主题  : 技术资讯  >   技术分享   ·  时间  :  07 / 20 / 2021   ·  浏览  :  294

在日常的开发过程中,编辑器或项目会自动产生很多数据文件或者缓存文件,这些文件通常我们不需要将他们保存到版本仓库,我们可以通过添加 .gitignore文件忽略他们。

操作流程 :

1 添加 .gitignore文件

在项目根目录下面 添加 .gitignore文件,文件中编写需要忽略的文件的正则表达式。

2 .gitignore 的2种忽略模式

开放模式

负责设置过滤哪些文件和文件夹,
例如:
/target/ 表示项目根目录下的target文件夹里面所有的内容都会被过滤,不被GIT 跟踪。

.classpath 表示项目根目录下的 .classpath 文件会被过滤,不被GIT跟踪

保守模式

负责设置哪些文件不被过滤,也就是哪些文件要被跟踪。
例如:

!/target/*.h 表示target文件夹目录下所有的.h文件将被跟踪

如果你不清楚GIT会跟踪哪些文件,你可以先用git status命令查看一下

$git status  
# On branch master  
# Untracked files:  
#   (use "git add <file>..." to include in what will be committed)  
#    .metadata/  
#    gitignore

像这样的话,就是.metadata文件夹和gitignore被跟踪。另外别忘记了在.gitignore文件中加入一行.gitignore,否则的话.gitignore将会被传到GIT服务器上。

3 规则写法

1. 在已忽略文件夹中不忽略指定文件夹
/node_modules/*
!/node_modules/layer/

2. 在已忽略文件夹中不忽略指定文件
/node_modules/*
!/node_modules/layer/layer.js
注意写法 要忽略的文件夹一定要结尾 /* ,否则不忽略规则将无法生效

3. 其他规则写法 (附)
以斜杠“/”开头表示目录;
以星号“*”通配多个字符;
以问号“?”通配单个字符
以方括号“[]”包含单个字符的匹配列表;
以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;

忽略文件
*.bak               # 忽略所有扩展名为.bak的文件
!keep.bak      # 但keep.bak文件除外(不会被忽略)
temp/test.txt  # 忽略temp目录下的test.txt文件
temp/*.txt       # 忽略temp目录下所有扩展名为.txt的文件

忽略目录
temp/       # 忽略temp目录下的所有目录和文件
temp/*/    # 忽略temp目录下的所有目录,但不会忽略该目录下的文件


收藏此文
相关回复
{{comment.u_nickname}}
{{comment.u_nickname}} @ {{comment.comments_reply_uname}}
{{comment.comments_content}}
 {{comment.comments_date}}
 点赞 ({{comment.comments_like_count}})   回复 ({{comment.comments_reply_count}})
{{commentSon.u_nickname}}
{{commentSon.u_nickname}} @ {{commentSon.comments_reply_uname}}
{{commentSon.comments_content}}
 {{commentSon.comments_date}}
 点赞 ({{commentSon.comments_like_count}})   回复 ({{commentSon.comments_reply_count}})
{{loadmoreText}}