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

Sourcetree——使用.gitignore忽略文件或者文件夹

一、为何需要文件忽略机制?

1.1 为什么要会略?

对于开发者而言,明智地选择忽略某些文件类型,能带来三大核心优势:

  • 仓库纯净性:避免二进制文件、编译产物等污染代码库

  • 安全防护:防止敏感信息(如API密钥、数据库凭证)意外泄露

  • 效率提升:减少无意义的版本追踪,加速克隆和拉取操作

1.2 通常忽略那些文件?

典型需忽略文件类型

文件类别常见示例
系统生成文件.DS_StoreThumbs.dbDesktop.ini
编译产物*.class(Java)、*.o(C++)、*.pyc(Python)、/dist/目录
依赖管理目录node_modules/vendor/target/
开发环境文件.idea/.vscode/.env
日志与临时文件*.log*.tmpnpm-debug.log*

示例:

我只修改了.cmd文件,但提交修改的时候,有很多编译产物

二、.gitignore配置深度解析

2.1 文件作用域与优先级

# 层级生效机制(从上到下优先级递减)
1. 项目根目录/.gitignore         # 作用于整个项目
2. 子目录/.gitignore                # 作用于该目录及其子目录
3. $GIT_DIR/info/exclude      # 本地仓库级配置
4. ~/.gitignore_global             # 全局配置(需执行git config --global core.excludesfile ~/.gitignore_global)

2.2 高级语法规则

# 基础匹配
*.log                    # 所有.log文件
!error.log             # 排除规则(保留error.log)

# 目录匹配
build/                  # 忽略所有build目录
doc/*.txt             # 忽略doc目录下txt文件(不递归子目录)

# 通配符扩展
temp?                # 匹配temp后接一个字符的文件(如tempa、temp1)
config.[tj]s          # 匹配config.ts和config.js

# 注释与范围
[0-9].csv             # 匹配数字开头的csv文件
# 重要:不要提交密钥文件
secret.key

.gitignore 的规则是 从上到下逐行匹配 的,后面的规则可以覆盖前面的规则。

否定规则(!)是唯一可以覆盖前面忽略规则的方式。 

三、Sourcetree的可视化设置

3. 1首次提交.gitignore

3.1.1点击设置

3.1.2在仓库设置中选择高级,点击编辑。 

3.3.3在gitignore中添加需要忽略的文件。

可以使用gitignore.io生成模板

以下是一个常用的.gitignore文件模板,可根据个人项目需求,按照.gitignore配置的语法规则2.2,进行增删改查。

# macOS system files
.DS_Store
.AppleDouble
.LSOverride
Icon
._*

# IDE - IntelliJ IDEA
.idea/
*.iml
*.iws
*.ipr
out/
.idea_modules/

# IDE - VSCode
.vscode/
*.code-workspace

# Obsidian files
.obsidian/

# Compiled files
*.class
*.jar
*.war
*.ear
*.zip
*.tar.gz
*.rar

# Logs and databases
*.log
*.sqlite
*.db

# Node
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Python
__pycache__/
*.py[cod]
*$py.class
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg

# Temporary files
*.swp
*.swo
*~

然后重新提交就好啦,这里.gitignore文件也要提交。

一定注意.gitignore文件要提交成功下次才能忽略设置的文件或目录! 

 3.2对于已经被git追踪的文件

如果是第一次提交,就会发现忽略文件已经没有了,不是第一次的这个时候你要是提交,就会发现你想要忽略的文件要是有改动,依然让你提交,这是因为这些文件已经加入git的版本控制库了,仅仅添加.gitignore文件是不够的,需要先清除缓存才行。

3.2.1清除Git缓存:

# 删除Git缓存(不会删除实际文件)
git rm -r --cached .

3.2.2 添加新的.gitignore文件,提交更改

# 添加.gitignore文件到Git
git add .gitignore

# 添加其他文件
git add .

# 提交更改
git commit -m "Add .gitignore file and remove ignored files from git"

3.3.3 推送到远程仓库

# 推送到远程仓库
git push origin master  # 或者其他分支名

 示例问题解决:(这里我尝试修改了其他文件)

参考连接:

1.【Git】如何添加和更新.gitignore文件_git添加ignore-CSDN博客

2.Sourcetree软件中添加git的.gitignore文件忽略某些文件提交_sourcetree忽略文件-CSDN博客 

相关文章:

  • 解决leetcode第3455题最短匹配子字符串
  • ui要放在析构函数里吗?
  • Java-ArrayList
  • css基本功
  • 【Troubleshot】Qt 长按按键 keyPressEvent keyReleaseEvent 自动重复问题
  • 【从零开始学习计算机科学】数据库系统(六)DBMS事务管理
  • C# 发送邮件 报错:此请求已被阻止,因为当用在 GET 请求中时,会将敏感信息透漏给第三方网站。
  • 【学习笔记】语言模型的发展历程
  • SpringBoot3+Lombok如何配置logback输出日志到文件
  • JVM 垃圾回收器的选择
  • 80.Dictionary 字典 C#例子
  • 【MySQL 中 `TINYINT` 类型与布尔值的关系】
  • 【Java基础】Java 的内部类
  • 22. dirmap:高级 Web 目录与文件扫描工具
  • 西门子S7-1200 PLC远程调试技术方案(巨控GRM532模块)
  • nginx学习,URI,try_files
  • Mysql表的查询
  • 提升 React 应用性能:使用 React Profiler 进行性能调优
  • 【redis】lua脚本
  • JConsole 在 Linux 上的使用
  • 怀化网站优化公司哪家好/网站查找工具
  • 建设一个网站平台的费用/网页广告调词平台多少钱
  • 有企业信息的网站/网络营销推广策略有哪些
  • wordpress主题个性/seo专业培训
  • 人大门户网站建设工作/宁波核心关键词seo收费
  • wordpress防暴力破解/北京厦门网站优化