`
weitao1026
  • 浏览: 1052920 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多

今天讲讲Git中非常重要的一个文件——.gitignore。

首先要强调一点,这个文件的完整文件名就是“.gitignore”,注意最前面有个“.”。这样没有扩展名的文件在Windows下不太好创建,这里给出win7的创建方法:

创建一个文件,文件名为:“.gitignore.”,注意前后都有一个点。保存之后系统会自动重命名为“.gitignore”。

一般来说每个Git项目中都需要一个“.gitignore”文件,这个文件的作用就是告诉Git哪些文件不需要添加到版本管理中。

实际项目中,很多文件都是不需要版本管理的,比如Python的.pyc文件和一些包含密码的配置文件等等。

这个文件的内容是一些规则,Git会根据这些规则来判断是否将文件添加到版本控制中。

下面我们看看常用的规则:

  • /mtk/ 过滤整个文件夹

  • *.zip 过滤所有.zip文件

  • /mtk/do.c 过滤某个具体文件

很简单吧,被过滤掉的文件就不会出现在你的GitHub库中了,当然本地库中还有,只是push的时候不会上传。

需要注意的是,gitignore还可以指定要将哪些文件添加到版本管理中:

  • !*.zip

  • !/mtk/one.txt

唯一的区别就是规则开头多了一个感叹号,Git会将满足这类规则的文件添加到版本管理中。

为什么要有两种规则呢?想象一个场景:我们只需要管理/mtk/目录中的one.txt文件,这个目录中的其他文件都不需要管理。那么我们就需要使用:

  • /mtk/

  • !/mtk/one.txt

假设我们只有过滤规则没有添加规则,那么我们就需要把/mtk/目录下除了one.txt以外的所有文件都写出来!

最后需要强调的一点是,如果你不慎在创建.gitignore文件之前就push了项目,那么即使你在.gitignore文件中写入新的过滤规则,这些规则也不会起作用,Git仍然会对所有文件进行版本管理。

简单来说,出现这种问题的原因就是Git已经开始管理这些文件了,所以你无法再通过过滤规则过滤它们。

所以大家一定要养成在项目开始就创建.gitignore文件的习惯,否则一旦push,处理起来会非常麻烦。

 

# 此为注释 – 将被 Git 忽略
 
*.a       # 忽略所有 .a 结尾的文件
!lib.a    # 但 lib.a 除外
/TODO     # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/    # 忽略 build/ 目录下的所有文件
doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
分享到:
评论

相关推荐

    .gitignore全局配置与忽略匹配规则详解

    本次分享的资源为一篇关于Git的博客文章,主题为【.gitignore全局配置与忽略匹配规则详解】。该文章旨在帮助读者更好地理解和使用Git中的.gitignore文件,以便在版本控制中更有效地管理项目文件。 文章分为以下几个...

    git放弃本地修复 拉取线上覆盖 添加 .gitignore文件不起作用

    ### Git 常用知识点详解 #### 一、Git放弃本地修复并拉取线上覆盖 在使用Git过程中,有时我们可能会遇到需要放弃本地修改并直接拉取远程仓库最新代码的情况。这种需求通常出现在本地开发环境出现问题或者需要快速...

    详解git中配置的.gitignore不生效的解决办法

    详解git中配置的.gitignore不生效的解决办法 前言: 通常我们希望放进仓库的代码保持纯净,即不要包含项目开发工具生成的文件,或者项目编译后的临时文件。但是,当我们使用git status查看工作区状态的时候,总会...

    gitlab windows操作说明

    ### GitLab Windows环境下的操作详解 #### 一、注册与登录 **1. 注册** 在浏览器地址栏中输入指定的IP地址(例如192.168.1.203)进入注册页面。根据提示填写相关信息,包括: - 姓名 - 登录账号 - 公司邮箱...

    Git教程(分支管理、分支命令、命令详解、gitignore)

    系统性:本教程从Git基础概念讲起,逐步深入分支管理、命令详解及.gitignore配置等核心内容,帮助学习者构建完整的知识体系。 实战性强:通过丰富的实战案例和步骤演示,让学习者在动手实践中掌握Git的使用技巧,...

    详解如何在IntelliJ IDEA中使用.ignore插件忽略不必要提交的文件

    在插件安装后,用户可以通过右键点击项目目录,选择“New”->“.ignore file”->“.gitignore file (Git)”来创建新的.gitignore文件。在创建过程中,可以选择不同的模板(Example user template),然后根据需要...

    微信小程序 云开发 毕业设计单词天天斗 .zip

    【文件清单详解】 1. `.eslintignore`:此文件用于指定ESLint(一种JavaScript代码规范检查工具)应忽略的文件或目录,确保只对需要检查的代码进行规范检测。 2. `.gitignore`:定义了Git版本控制系统中不应添加到...

    git操作全部

    #### 二、Git 基本操作详解 接下来,我们将深入了解一些常用的 Git 命令及其应用场景。 1. **添加 `.gitignore` 文件:** - 创建 `.gitignore` 文件以排除不需要提交到版本控制的文件。 - 使用 `touch ....

    实验1 Git基本操作.docx

    ### Git基本操作知识点详解 #### 一、Git简介与特性 **Git** 是一款开源的分布式版本控制系统,广泛应用于各种规模的项目版本管理之中。它最初由 **Linus Torvalds** 开发,目的是为了更好地管理和追踪 **Linux** ...

    eclipse插件Git

    ### Eclipse 插件EGit安装与使用详解 #### 一、安装EGit插件 EGit是Eclipse的一个插件,用于支持Git版本控制系统。它提供了直观的图形界面,使得在Eclipse环境中管理Git仓库变得非常简单。 **安装步骤:** 1. **...

    Gitlab拉取_推送代码,提交合并请求.docx

    ### GitLab 拉取与推送代码,提交合并请求详解 #### 一、拉取代码 **1. 初始化 Git 信息** 在开始任何 Git 操作之前,首先需要配置您的 Git 用户名和电子邮件地址,这将用于标识您提交的代码。 ```bash git ...

    git使用技巧

    ### Git使用技巧详解 #### 忽略特定文件与目录 在使用Git进行版本控制时,经常需要排除一些不必要的文件或目录,比如编译生成的文件、日志文件等,以免这些文件占用版本库的空间或者泄露敏感信息。这时,`....

    git文件管理心得分享

    #### 二、Git文件状态详解 **1. Untracked Files (未跟踪文件)** 在Git中,新创建但尚未添加到版本控制中的文件被称为未跟踪文件。这类文件通常是开发者新创建的文件,还没有通过`git add`命令加入到版本库中。...

    vue - Vue脚手架.doc

    Vue 脚手架详解 Vue 脚手架是 Vue 官方提供的一套工具,可以帮助开发者快速创建和管理 Vue 项目。通过本文,我们将详细介绍 Vue 脚手架的使用方法、项目结构、配置文件、组件结构、渲染函数等知识点。 1. 初始化 ...

    git原理详解及实用指南,分为18章md和pdf版本都有

    git操作 什么是版本控制系统(VCS) 1什么是分布式版本控制系统(DVCS) 1:新公司用 Git 管理代码,怎么快速上手? 2:团队工作的基本工作模型 ...20额外说点:.gitignore——排除不想被管理的文件和目录21总结

    Android 使用版本控制工具时添加忽略文件的方式(详解)

    1. 创建或编辑`.gitignore`文件:在项目根目录下,如果没有`.gitignore`文件,可以手动创建一个;如果有,直接编辑即可。 2. 编写忽略规则:遵循Git的语法,每行写一条规则。例如: - `#`: 开头表示该行为注释。 -...

    assimp-3.3.1.zip

    《assimp-3.3.1.zip:游戏与三维模型导入库详解》 assimp-3.3.1是一款强大的跨平台三维模型导入库,它为游戏开发、虚拟现实、计算机图形学等领域提供了便捷的数据接口,能够处理数十种不同的3D文件格式。此版本的...

    JuCheap.Core.rar

    《JuCheap.Core项目详解——基于.NET Core 2.1的框架设计》 JuCheap.Core是一个专为JuCheap3.0构建的核心框架,该框架基于.NET Core 2.1技术栈,提供了一整套完整的解决方案。在.NET Core 2.1的高效运行环境下,...

Global site tag (gtag.js) - Google Analytics