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

Git 提交排除文件夹方法总结

在 Git 中排除某个文件夹(使其不被提交到远程仓库)有几种方法。以下是主要的解决方案:

方法一:使用 .gitignore 文件(推荐)

这是最标准的方法,适用于大多数情况。

  1. 创建或编辑 .gitignore 文件

    # 如果还没有 .gitignore 文件
    touch .gitignore
  2. 在 .gitignore 中添加要排除的文件夹

     
    # 排除单个文件夹
    folder_to_exclude/# 或者使用通配符排除所有类似文件夹
    */folder_to_exclude/# 排除所有名为 node_modules 的文件夹
    node_modules/
  3. 如果文件夹已经被跟踪,需要先将其从 Git 中移除

     
    # 停止跟踪但保留本地文件
    git rm -r --cached folder_to_exclude/# 提交更改
    git add .
    git commit -m "停止跟踪 folder_to_exclude 文件夹"

方法二:使用 sparse-checkout(高级用法)

如果你想要一个只包含特定文件夹的稀疏检出:

# 启用 sparse-checkout
git config core.sparseCheckout true# 指定要包含的文件夹
echo "src/" >> .git/info/sparse-checkout
echo "docs/" >> .git/info/sparse-checkout# 重新读取工作目录
git read-tree -mu HEAD

方法三:从已提交的文件中移除文件夹

如果文件夹已经被提交到了仓库:

# 从 Git 中移除文件夹但保留本地文件
git rm -r --cached folder_to_exclude/# 提交更改
git commit -m "移除 folder_to_exclude 文件夹"# 推送到远程
git push origin main

示例 .gitignore 内容

# 排除 node_modules 文件夹
node_modules/# 排除日志文件夹
logs/
*.log# 排除编译输出
dist/
build/# 排除环境变量文件
.env
.env.local# 排除 IDE 配置文件
.vscode/
.idea/

注意事项

  1. .gitignore 只对未跟踪的文件有效 - 如果文件已经被 Git 跟踪,需要先使用 git rm --cached 移除跟踪。

  2. .gitignore 文件本身需要被提交 - 这样其他协作者也会应用相同的忽略规则。

  3. 使用全局忽略 - 你也可以设置全局忽略规则:

     
    git config --global core.excludesfile ~/.gitignore_global

选择最适合你需求的方法。对于大多数情况,使用 .gitignore 文件是最简单有效的解决方案。

http://www.wxhsa.cn/company.asp?id=5181

相关文章:

  • 如何在 Ubuntu24.04 TLS 上安装 Kubernetes 集群 - Antonie
  • Jmeter的插件开发
  • Educational Codeforces Round 182 (Rated for Div. 2)
  • java第二周课前提问
  • java GC
  • Redis最佳实践——性能优化技巧之监控与告警详解
  • week1
  • EF Core 与 MySQL:迁移和关系配置详解
  • 《原子习惯》-读书笔记2
  • CF1626D 题解
  • Python 集合运算:并集、交集、差集全解析
  • 第一周数据可视化作业
  • 用 C++ + OpenCV + Tesseract 实现英文数字验证码识别
  • java 第一节课课前提问
  • 二进制解码器、选通器和分配器
  • 2025最新版 Photoshop软件免费下载安装完整教程(PS2025)超详细安装教程
  • nac一键卸载软件脚本
  • 交叉编译openharmony版本的openssh
  • 为什么不建议在 Docker 中跑 MySQL
  • CFD
  • [MCP][05]Elicitation示例
  • Warsaw主题关闭导航条
  • Python Socket网络编程(2)
  • PS2025安装包下载及PS2025安装包安装教程详细步骤(包含安装包下载链接)
  • Nature Genetics | 本周最新文献速递
  • 关于go里切片作为函数参数时是引用传递还是值传递
  • DRAN读写循环
  • 数据结构操作相关
  • Neisbitt 不等式的证法
  • 端口转发神器Rinetd:轻量级安装与配置指南