Git-忽略某些文件的提交,解决方案汇总
前言 工作中遇到的问题
- 项目拉下来,因为有流水线和多环境(dev,test,prod),内网开发等因素,项目启动需要改bootstrap.yml文件的一些本地启动配置。然后自己使用lombok有些警告在SpringBoot启动类同级添加了lombok.config配置文件。
- 开发完成后需要提交代码,但是代码提交时显示了 bootstrap.yml,lombok.config,每次都要手动取消勾选这些文件
1.解决忽略提交修改过的某些文件
git status #查看暂存区信息
git update-index --assuume-unchanged model-name/model-service/src/main/resources/bootstrap.yml #忽略文件
git status #再次查看暂存区信息,就是modified发现少了bootstrap.yml文件
2.忽略提交某些文件(.gitignore)
(此处可以学习.gitignore编写)
注意:我们将gitignore文件的每行文字称之为模式(parttern),模式规定了怎样和文件进行匹配
- ’#‘ 号开头表示注释
- ‘!’ 开头的模式代表此模式被无效化,改模式下的文件若之前被排除,将重新被git添加
- ‘/’ 作为文件夹的分割符
- 如果模式中的头部或中间出现‘/’(尾部不满足),则此模式在gitignore文件路径同层开始起作用
如果没有‘/’,任何比gitignore文件 深 的文件都会被影响- 模式尾部出现‘/’,则该模式只匹配文件夹;否则,文件夹和文件都会受影响
- 单个星号 ‘*’ 通常用来替代所有可能的文本内容,比如
*.log 匹配所有log格式的文件
- 两个星号‘**’ 通常用来指代所有可能的位置,比如
**/target 匹配所有路径下的target文件或文件夹**/target/ 匹配所有路径下的target文件夹/** 匹配所有内容target/** 匹配所有target文件下的所有内容a/**/b 匹配a文件夹下所有位置的b文件夹或文件,“a/b", "a/x/b", "a/x/y/b”都会被匹配
.idea/ #gitignore同级目录下的 .idea/ 文件夹
lombok.config
2. 修改了.gitignore 也会提交上去
可以通过修改 .git/info/exclude 忽略文件,而且还不会提交上去影响到别人
下面是我在公司开发的.git/info/exclude配置,#号开头是注释,可以删除
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~**/config/bootstrap.yml
**/target/
**/test/http-request/
**/lombok.config*.class
*.log
rebal.xmlict-service-lxj.*
ict-service-*.log.*banner.jpg
可以参考这篇文章:https://mengqi92.github.io/2020/07/17/hide-files-from-git/
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
