0


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.xml

ict-service-lxj.*
ict-service-*.log.*

banner.jpg

可以参考这篇文章:https://mengqi92.github.io/2020/07/17/hide-files-from-git/

标签: git github

本文转载自: https://blog.csdn.net/qq_49616330/article/details/124648050
版权归原作者 新年约 所有, 如有侵权,请联系我们删除。

“Git-忽略某些文件的提交,解决方案汇总”的评论:

还没有评论