当前位置: 首页 > article >正文

.gitignore记录

.gitignore未生效

本人初始化项目遇到的一个非常强迫症的情况,就是第一次commit时,即使在根目录的.gitignore文件中添加了idea文件夹,但commit时仍然会将无用文件给一起commit,多次尝试后总结原因:.gitignore是在add时过滤

1.根本原因

问:.gitignore文件是在什么时候生效的,add时还是commit时还是push时

答:

.gitignore 文件在执行 git add 命令时生效。

  1. 原理
    • 当你执行 git add 命令时,Git 会检查要添加的文件是否在 .gitignore 文件中被忽略。如果文件被 .gitignore 规则匹配到,那么这个文件就不会被添加到暂存区(staging area)。
  2. 对 commit 和 push 的影响
    • commit 时:由于在 add 时已经被忽略的文件没有进入暂存区,所以在执行 git commit 时,这些被忽略的文件也不会被包含在提交中。因为 commit 是基于暂存区的内容来创建一个新的提交对象,而暂存区中没有这些被忽略的文件。
    • push 时push 是将本地仓库的提交推送到远程仓库。由于在 addcommit 时被忽略的文件都没有被包含在提交中,所以在 push 时也不会将这些被忽略的文件推送到远程仓库。

总之,.gitignore 文件主要在 git add 阶段起作用,它决定了哪些文件可以被添加到暂存区,从而间接影响后续的 commitpush 操作。

2.实际场景

在创建项目时选择了初始化git仓库,这样会导致创建出的所有项目文件都先被自动add到缓存区,这样之后的commit就会将缓存区中的文件全部未经.gitignore过滤就提交

3.解决方案

  1. 创建项目时不勾选 Create Git repository
  2. 如果已经勾选,可以执行命令行指令git reset清空缓存区
    在这里插入图片描述然后手动add,.gitignore就可以生效了

http://www.kler.cn/a/488794.html

相关文章:

  • 【stm32+K210项目】基于K210与STM32协同工作的智能垃圾分类系统设计与实现(完整工程资料源码)
  • 互联网架构变迁:从 TCP/IP “呼叫” 到 NDN “内容分发” 的逐浪之旅
  • 预训练语言模型——BERT
  • .NET体系架构
  • 网络-ping包分析
  • python学opencv|读取图像(二十九)使用cv2.getRotationMatrix2D()函数旋转缩放图像
  • 前端全局水印, 拖拉拽图片 ,拽入等比压缩,上传服务器后,java 转base64 加水印,然后前端http预览,确认保存,拽出删除。
  • VS Code 可视化查看 C 调用链插件 C Relation
  • 腾讯云AI代码助手编程挑战赛-知识百科AI
  • Unity3D Huatuo热更环境安装与示例项目详解
  • MYSQL------MySQL 复制MySQL Cluster 架构
  • Xsens惯性动捕技术优化人型机器人AI训练流程
  • 搭建docker私有化仓库Harbor
  • flask-admin 在modelview 默认视图下重写create_model_actions来实现列表数据的批量处理actions
  • (长期更新)《零基础入门 ArcGIS(ArcMap) 》实验六----流域综合处理(超超超详细!!!)
  • 2025年第三届“华数杯”国际赛A题解题思路与代码(Matlab版)
  • 《Spring Framework实战》5:Spring Framework 概述
  • [微服务]redis数据结构
  • C#实现二维码和条形码识别:OpenCvSharp教程
  • WebRtc03: Web服务器原理和Nodejs搭建
  • 回归预测 | MATLAB实LSTM多输入单输出回归预测
  • [Git] git reset --hard / git reset --soft
  • Perl语言的数据结构
  • STM32的存储结构
  • abap安装cl_json类
  • 玩转 LangChain Memory 模块:四种记忆类型详解及应用场景全覆盖