ToB企服应用市场:ToB评测及商务社交产业平台

标题: Git学习-.gitignore文件先容 [打印本页]

作者: 反转基因福娃    时间: 2024-9-29 19:07
标题: Git学习-.gitignore文件先容
本篇主要具体先容了 .gitignore 文件的内容,以及如何公道的举行配置;
我们平时在开发过程中,经常会包含一些不希望被别人看到,大概不需要被别人看到的文件,比如IDEA项目标配置目录.idea、node模块的包目录node_modules等;
这时我们就可以通过 .gitignore 文件来将这些路径排撤除,如许提交时就不会把这些目录提交到长途堆栈;下面我们就具体先容下 .gitignore 文件。
1. .gitignore规范

这里我们列举出比较告急的几种规范,如下所示:

2. .gitignore例子

  1. idea
  2. target/
  3. *.iml
  4. !main.iml
  5. /test
  6. *.class
  7. demo/*.txt
  8. demo/**/*.txt
  9. *.jar
  10. *.war
  11. *.ear
  12. *.zip
  13. *.tar.gz
  14. *.rar
复制代码
.idea: 排除所有的idea文件或目录(这里的所有包括当前目录和其他目录,也就是说会递归查找目录,
下面的所有都是同理
)
target/: 排撤除所有的target目录
*.iml: 排除所有的.iml文件
!main.iml:不要排除main.iml文件,共同上面的*.iml一起使用就是 排除所有.iml文件,但是不排除main.iml文件
/test:只排除当前目录下的test目录,不排除其他目录下的test目录,比如src/test就不会被排除
*.class:排除所有类文件
demo/*.txt:排除所有demo目录下的txt文件,只在demo目录下查找,比如demo/update.txt
demo/**/*.txt:排除所有demo目录下的txt文件,在demo目录及其子目录下查找,比如demo/a/update.txt, demo/update.txt
*.jar:排除所有打包文件
3. IDEA中的.ignore插件

一般来说,每一种项目都会有一些特定的ignore模板,比如Java会产生class文件,node会产生node_modules模块;
如果每种项目都有一个gitignore模板那该多好啊;
恰好,IDEA就有如许一个插件:.ignore插件;
不外它不止实用于gitignore,还实用于其他的ignore
不外我们这里只先容.gitignore;
安装插件
直接在插件市场搜索 ignore,安装即可

使用插件
这里假设我们创建了一个Java项目,那么就可以在项目标路径下创建一个.gitignore文件;

接着选择对应的Java模板;
如许一个基于Java的.gitignore模板就算创建乐成了,接下来可以自己再看着修改:

4. 为啥有时候gitignore不生效

有时候我们明明添加了匹配模式,但是就是排除不了对应的文件或目录;
那是因为那个文件或目录已经被添加到了git的记录中(实行过git add),此时再在gitignore中添加匹配模式是无法生效的;
办理办法就是从git记录中删除对应的文件或目录;
  1. git rm -rf --cached .
复制代码
-rf:表现递归+逼迫
–cached: 表现只删除git记录,不删除本地文件;如果不添加这个选项,则本地文件也会被删除
. : 表现删除当前目录的所有git记录,如果只是想删除指定的文件,可以用具体的文件名替换,比如git rm -rf --cached demo.txt
如果误删除了所有git记录,可以用git restore --staged .规复
总结

起首我们需要知道,.gitignore的匹配模式就是用了简化版的正则表达式;
其次我们如果是用IDE开发,一般都会有ignore插件,资助我们快速添加一个gitignore模板(差异项目有差异的模板);
末了如果ignore不生效,可以通过删除对应的git记录来办理,git rm -rf --cached .
;

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4