学习笔记,如有错误之处,请指正
方法一:assume-unchanged
方法特点:
1 适用于单独配置,如配置文件里面的ip 用户名 密码等。需要把该配置文件上传,但是不能上传私密信息;需要保持远程库与工作区文件不一样
2 工作区的配置文件与远程库不一样
3 其他人clone后失效
方法
1 将配置文件中的私密信息掩盖,如用*替换之类
2 先git add->再git commit->再git push
3 git update-index --assume-unchanged filepath:忽略跟踪该文件
4 然后就可以在本地更改该配置文件,但不会被追踪,不会上传到远程库
取消忽略
git update-index --no-assume-unchanged filepath
查看忽略文件
git ls-files -v | grep '^h'
方法二:.gitignore文件
工程下面有个.gitignore文件,将不需的文件及目录加在里面
该方法作用于工程,表征该项目工程哪些文件/目录需要,哪些不需要;.gitignore文件也会被push到远程,所以其他人clone后,该方法的配置也会生效。
一般是将编译过程文件、中间文件、编译器生成的配置文件等记录在内。
常用规则如下。建议该文件直接从github上获取,再加些自己独特配置就行。
下述为阿里spring镜像自带的.gitignore
#当前路径是指.gitignore所在路径
HELP.md #忽略当前路径下的HELP.md文件
target/ #忽略当前路径下target文件夹
!.mvn/wrapper/maven-wrapper.jar #不能忽略该路径下的该文件
!**/src/main/** #不能忽略src/main文件, **匹配多层级的文件夹
!**/src/test/**
### STS ###
.apt_generated #忽略当前路径下该文件
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws #忽略所有以.iws结尾的文件
.........
gitignore规则参考
特别注意:如果文件已经被git追踪,放至gitignore上,则忽略规则不起效。
使用git rm -r --cached filepath取消追踪即可
方法三:.git/info/exclude
其功能和规则与gitignore基本一样,但该文件属于本地库独有,不会push到远程库,更不会被别人clone到。有些配置,不属于工程,不打算上传到远程库,只属于自己,可以考虑在这里面写。
同理,如果文件已经被git追踪,放至gitignore上,则忽略规则不起效。需要取消跟踪