[git使用技巧] git提交忽略不必要的文件或文件夹

作者:xcbeyond
疯狂源自梦想,技术成就辉煌!微信公众号:《程序猿技术大咖》号主,专注后端开发多年,拥有丰富的研发经验,乐于技术输出、分享,现阶段从事微服务架构项目的研发工作,涉及架构设计、技术选型、业务研发等工作。对于Java、微服务、数据库、Docker有深入了解,并有大量的调优经验。












在使用git用来管理代码后,如果采用eclipse中git插件,可以更加便利的在eclipse中进行代码的提交及更新操作。对于创建的maven项目而言,本地工程项目中往往会有一些本地项目配置文件,而这些配置文件却是不需要提交至版本库的,如maven项目的target文件夹、bin文件夹等。如下图,
 实际开发中我们只需提交:src、pom.xml、.gitignore等。

 (.gitignore是用来配置忽略文件的配置文件,建议一同提交至版本库,便于其他开发人员使用)

   
 

 
  面对上述这种情况,如何做到只提交需要关注提交的文件,而忽略不必要的文件或文件夹,防止本地不必要的文件提交至版本库呢?

 


 git忽略不必要文件有2种方法,一种是命令方法,一种是eclipse安装git插件设置。
方法一:配置文件方法

 1.首先在仓库中创建隐藏文件“.gitignore”,选中本地仓库,右击“Git Bash Here”,然后执行如下命令:

  touch .gitignore

  ※项目中一般会自动生成该配置文件

 强烈推荐使用配置文件方式,便于其他人使用。


 2.用文本编辑器如editplus或notepad++输入需要忽略的文件或文件名,如下所示:

##ignore this file##
/target/
.classpath
.project
.settings      
 ##filter databfile、sln file##
*.mdb  
*.ldb  
*.sln    
##class file##
*.com  
*.class  
*.dll  
*.exe  
*.o  
*.so  
# compression file
*.7z  
*.dmg  
*.gz  
*.iso  
*.jar  
*.rar  
*.tar  
*.zip  
*.via
*.tmp
*.err
# OS generated files #  
.DS_Store  
.DS_Store?  
._*  
.Spotlight-V100  
.Trashes  
Icon?  
ehthumbs.db  
Thumbs.db  


 备注:

 /target/ :过滤文件设置,表示过滤这个文件夹

 *.mdb  ,*.ldb  ,*.sln 表示过滤某种类型的文件

 /mtk/do.c ,/mtk/if.h  表示指定过滤某个文件下具体文件

  !*.c , !/dir/subdir/     !开头表示不过滤

  *.[oa]    支持通配符:过滤repo中所有以.o或者.a为扩展名的文件

 该方法保证任何人都提交不了这类文件

 

 方法二:eclipse配置

 eclipse安装git插件设置:点击“Add Pattern”添加你要过滤的文件,该方法只能保证本地提交过滤,但是提交远程仓库则不会。