Git忽略提交的3种方法及Git忽略规则

一、Git忽略提交的3种方法

在使用Git进行代码版本管理的过程中,一些敏感信息通常不应该被提交到版本库中,例如临时文件、日志文件、密码文件等。此时需要使用Git的忽略提交功能。

Git忽略提交有3种方法:

  1. .gitignore文件:在项目根目录下创建一个名为.gitignore的文件,并将需要忽略的文件或目录名称添加到文件中即可。需要注意的是,.gitignore文件中可以使用通配符匹配文件名。

例如,我需要忽略所有以.tmp结尾的文件,以及/logs目录中的所有文件,需要在.gitignore文件中添加如下内容:

*.tmp
/logs/*
  1. .git/info/exclude文件:该文件的使用方法与.gitignore文件相同,但是不需要添加到版本库中。当我们不想将某些需要忽略的文件或目录添加到全局.gitignore文件中时,可以使用该方法。

例如,我需要在该项目中忽略.DS_Store文件,只需在.git/info/exclude文件中添加如下内容:

.DS_Store
  1. 忽略全部文件:当我们需要忽略项目中所有文件时,可以使用--assume-unchanged参数。该参数会将所有文件标记为不需再次提交,从而达到忽略提交的目的。相比于前两种方法,该方法需要结合Git的版本管理和分支管理一同使用。

例如,我需要将本地的README.md文件忽略提交,只需执行以下命令:

git update-index --assume-unchanged README.md

二、Git忽略规则

在使用.gitignore文件开启忽略提交功能时,需要遵守一定的规则,否则可能会出现异常。

  1. 以井号(#)开始的行被视为注释行,将被忽略。

  2. 可以使用斜杠(/)来指定目录,也可以使用星号(*)匹配任意字符。例如,/logs指定了logs目录,而*.bak则匹配了所有以.bak结尾的文件。

  3. 前缀或后缀匹配可以使用两个星号(**),例如/logs/**可以匹配所有logs/开头的路径,同时也可以匹配logs/下的所有子目录和子文件。

  4. 行末不能有空格和空行,否则会引起异常。

示例1:

假设有一个名为myapp的项目,项目目录下有一个日志文件myapp.log需要被忽略提交到版本库中,可以在.gitignore文件中添加如下内容:

# ignore log file
myapp.log

示例2:

假设有一个名为blog的项目,项目中有一个公共的静态目录/public,该目录下包含图片等文件,需要将该目录及其下所有文件都忽略提交到版本库中,可以在.gitignore文件中添加如下内容:

# ignore public directory
/public/

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Git忽略提交的3种方法及Git忽略规则 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • Ubuntu 14.04如何在Dash加载关机/重启选项

    要在Ubuntu 14.04的Dash中加载关机/重启选项,你可以按照以下步骤进行: 打开终端(Ctrl+Alt+T),输入以下命令更新软件列表: sudo apt-get update 安装应用程序“dconf Editor”: sudo apt-get install dconf-editor 打开dconf Editor,依次展开org -> g…

    other 2023年6月27日
    00
  • VBS字符串的内部实现

    VBS字符串的内部实现 在 VBS(Visual Basic Script)中,字符串是很常见的类型,而且它们的操作很方便,比如字符串连接、长度计算、截取等等。本文将会讲解 VBS 字符串的内部实现,以及它们在计算机内存中的存储格式。 VBS字符串的定义与赋值 在 VBS 中定义字符串可以使用 Dim 关键词,例如: Dim str 在这个例子中,我们只是定…

    other 2023年6月20日
    00
  • 深入Vue-Router路由嵌套理解

    深入Vue-Router路由嵌套理解攻略 Vue-Router是Vue.js官方的路由管理器,它允许我们在Vue应用中实现页面之间的导航和路由功能。其中一个强大的特性是路由嵌套,它允许我们在一个路由中嵌套另一个路由,从而创建复杂的页面结构和嵌套的组件关系。本攻略将详细讲解Vue-Router路由嵌套的概念和用法。 1. 路由嵌套的基本概念 路由嵌套是指在一个…

    other 2023年7月27日
    00
  • Android布局之绝对布局AbsoluteLayout详解

    那我来为你详细讲解“Android布局之绝对布局AbsoluteLayout详解”的完整攻略。 什么是绝对布局? 绝对布局(AbsoluteLayout)是Android中一种非常基础的布局,它可以让我们指定每个控件的具体位置,控件的位置取决于其左侧和顶部的偏移量。这种布局方式的好处是可以精确定位控件,使其按照我们的设计放置。但是,由于控件位置是绝对的,因此…

    other 2023年6月26日
    00
  • jquery 触发/失去焦点事件例子详解

    jQuery触发/失去焦点事件例子详解 在Web开发中,我们经常需要使用JavaScript来控制页面元素的交互,其中事件是最关键的一环。通过事件可以实现用户与页面的交互反馈,从而提高用户体验。本文将详细介绍jQuery中触发/失去焦点事件的例子,并且给出详细的代码实现。 什么是触发/失去焦点事件? 当一个元素被选中时,称之为”获得焦点”。相反,当元素从选中…

    其他 2023年3月28日
    00
  • word2007提示”无法初始化Visual Basic环境”的解决办法

    问题描述: 当使用Word2007打开某些带有宏代码的文档时,可能会弹出提示框:“无法初始化Visual Basic环境”的错误信息,这时无法运行宏代码。 解决办法: 方法一:重新注册dll文件 步骤1:关闭Word2007程序,打开Windows文件资源管理器。 步骤2:进入Windows目录下的SysWOW64文件夹。 步骤3:按住Shift键所在的同时…

    other 2023年6月20日
    00
  • 关于java:optional.ifpresent()的正确用法

    关于Java Optional.ifPresent()的正确用法 Optional.ifPresent()是Java 8中的一个方法,它可以在Optional对象中存在值时执行一个操作。本文将详细讲解Optional.ifPresent()的正确用法,包括基本法、示例说明和最佳实践。 1. 基本语法 Optional.ifPresent()的基本语法如下: …

    other 2023年5月7日
    00
  • ec2(elasticcomputecloud 弹性计算云 又称ec2实例)

    EC2(Elastic Compute Cloud)是AWS(Amazon Web Services)提供的一种弹性计算云服务,可以让用户轻松地在云中创建和管理虚拟机。本文将详细讲解EC2的完整攻略,包括如何创建EC2实例、如何连接EC2实例、如何配置EC2安全组以及如何删除EC2实例等内容。另外,文章中将包含两个实例说明。 创建EC2实例 创建EC2实例的…

    其他 2023年4月16日
    00
合作推广
合作推广
分享本页
返回顶部