在一些项目中,我们不想让本地仓库的所有文件都上传到远程仓库中,而是有选择的上传,比如:一些依赖文件(node_modules下的依赖)、bin 目录下的文件、测试文件等。一方面将一些依赖、测试文件都上传到远程传输量很大,另一方面,一些文件对于你这边是可用的,在另一个人那可能就不可用了,比如:本地配置文件。
为了解决上述问题,git 引入了 .gitignore 文件,使用该文件来选择性的上传文件。
#
开头的模式标识注释,可以使用反斜杠进行转义!
开头的模式标识否定,该文件将会再次被包含,如果排除了该文件的父级目录,则使用 ! 也不会再次被包含。可以使用反斜杠进行转义/
结束的模式只匹配文件夹以及在该文件夹路径下的内容,但是不匹配该文件/
开始的模式匹配项目跟目录**
匹配多级目录,可在开始,中间,结束?
通用匹配单个字符[]
通用匹配单个字符列表常用匹配示例:
注意:创建.gitignore文件之前push过某文件,即使.gitignore文件中写入过滤该文件的规则,该规则也不会起作用,git仍然会对该文件进行版本管理。
解决办法 :
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
符合 | 说明 | 注意 |
---|---|---|
/ | 表示目录 | |
* | 通配多个字符 | |
? | 通配单个字符 | |
[] | 包含单个字符的匹配列表 | [Dd]ebug/ –>忽略Debug和debug文件夹下的内容 |
! | 取消对某对象的忽略 |
注意: 一个.gitignore文件中按行从上到下进行规则匹配;整个仓库中按照上级目录到下级目录进行规则匹配
这种方式通过在项目的某个文件夹下定义 .gitignore 文件,在该文件中定义相应的忽略规则,来管理当前文件夹下的文件的Git提交行为。
.gitignore 文件是可以提交到共有仓库中,这就为该项目下的所有开发者都共享一套定义好的忽略规则。
在 .gitingore 文件中,遵循相应的语法,在每一行指定一个忽略规则。如:
#忽略所有.svn目录
.svn/
#忽略所有target目录
target/
#忽略所有.idea目录
.idea/
#忽略所有.iml文件
*.iml
点赞 -收藏-关注-便于以后复习和收到最新内容有其他问题在评论区讨论-或者私信我-收到会在第一时间回复如有侵权,请私信联系我感谢,配合,希望我的努力对你有帮助^_^
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/weixin_45203607/article/details/124101999
内容来源于网络,如有侵权,请联系作者删除!