.gitignore文件的使用

.gitignore是一个非常重要的文件,它可以帮助我们在使用Git进行版本控制时,忽略掉不需要跟踪的文件或者文件夹。下面就让我们详细了解一下.gitignore文件的使用方法。

什么是.gitignore文件?

.gitignore文件是一个文本文件,它告诉Git哪些文件或目录不应该被添加到Git仓库中。换句话说,当我们运行git add *命令时,那些在.gitignore文件中列出的文件或目录将不会被添加到版本控制中。

如何创建.gitignore文件?

创建.gitignore文件很简单,只需要在你的项目根目录下创建一个名为.gitignore的文件即可。你可以使用任何文本编辑器来创建和编辑这个文件。

touch .gitignore

.gitignore文件的语法

一、基本规则

  • 每一行指定一个忽略的文件或目录。
  • 你可以使用#来添加注释。空行和以#开头的行会被忽略。
  • 你可以使用*作为通配符。? 代表任意一个字符,[abc] 代表字符a、b或c,[0-9]代表数字0到9,**/ 表示0个或多个目录。
  • 你可以使用/来忽略路径。
  • ! 开头的规则表示否定,即不忽略匹配该规则的文件。

二、示例

假设我们的项目目录结构如下:

project/
|-- src/
|   |-- main.py
|   |-- test.py
|-- build/
|   |-- main.o
|   |-- test.o
|-- lib/
|   |-- lib1/
|   |   |-- __pycache__/
|   |       |-- file1.cpython-36.pyc
|   |       |-- file2.cpython-36.pyc
|   |-- lib2/
|   |   |-- __pycache__/
|   |       |-- file3.cpython-36.pyc
|   |       |-- file4.cpython-36.pyc
|-- .gitignore

我们想要忽略所有编译生成的.o文件,以及build目录下的所有文件,同时忽略所有的__pycache__目录和其中的.pyc文件。那么,我们可以这样编写.gitignore文件:

# 忽略所有 .o 文件
*.o

# 忽略 build 目录下的所有文件
build/*

# 忽略所有的 __pycache__ 目录和其中的 .pyc 文件
__pycache__/*.pyc

注意,这里的__pycache__/*.pyc必须放在*.o之后,因为.gitignore文件的处理顺序是从上到下的,如果*.o__pycache__/*.pyc之前,那么__pycache__/*.pyc就不会生效了。

三、特殊规则

  1. 如果.gitignore文件中的规则无法匹配某个文件,那么这个文件不会被忽略。
  2. 如果一个文件已经被Git跟踪,那么.gitignore文件中的规则对它无效。如果想要让.gitignore对已经被跟踪的文件生效,需要先使用git rm --cached <file>命令取消跟踪。
  3. 如果一个文件被.gitignore忽略,那么它不会出现在未跟踪文件列表中,也不会被添加到版本库中。
  4. 如果一个文件被.gitignore忽略,但是通过git add -f <file>git add .命令强制添加,那么这个文件会被跟踪。

注意事项

  • 如果你已经追踪了(tracked)一个文件,然后你把这个文件添加到.gitignore文件中,那么这个文件不会被自动从Git仓库中删除。在这种情况下,你需要手动删除这个文件。
  • .gitignore文件本身也应该被添加到Git仓库中。这样其他人在克隆这个仓库时,也可以使用到相同的忽略规则。
  • 如果你有一些特定的忽略规则,而这些规则只对你自己有效,不应该对其他人有效,那么你可以把这些规则添加到.git/info/exclude文件中,这个文件的语法和.gitignore文件相同,但是它不会被添加到Git仓库中。

以上就是.gitignore文件的基本用法,希望对你有所帮助。

相关推荐

  1. .gitignore文件使用

    2024-04-12 15:24:05       27 阅读
  2. .gitignore 文件说明文档

    2024-04-12 15:24:05       11 阅读
  3. 如何有效使用 .gitignore 文件

    2024-04-12 15:24:05       38 阅读
  4. git忽略文件.gitignore如何使用?

    2024-04-12 15:24:05       13 阅读
  5. 关于.gitignore文件

    2024-04-12 15:24:05       34 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-12 15:24:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-12 15:24:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-12 15:24:05       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-12 15:24:05       20 阅读

热门阅读

  1. git常用命令整理~

    2024-04-12 15:24:05       15 阅读
  2. 单例模式的双重检查锁

    2024-04-12 15:24:05       14 阅读
  3. Spring boot实现低代码量的Excel导入导出

    2024-04-12 15:24:05       18 阅读
  4. C++:new与delete

    2024-04-12 15:24:05       18 阅读
  5. 松散子序列(c++实现)

    2024-04-12 15:24:05       14 阅读
  6. docker 容器迁移

    2024-04-12 15:24:05       12 阅读
  7. 什么是高防IP,使用场景和具体实例

    2024-04-12 15:24:05       15 阅读
  8. 飞腾D2000/E2000 openEuler Embedded 用户使用手册

    2024-04-12 15:24:05       14 阅读
  9. 富格林:着重正规技巧阻挠上当

    2024-04-12 15:24:05       14 阅读