git中 gitignore 忽略文件操作

通常,.gitignore文件被放置在存储库的根目录中 。根目录也称为父目录和当前工作目录 。根文件夹包含组成项目的所有文件和其他文件夹 。也就是说 , 您可以将它放在存储库中的任何文件夹中 。你甚至可以有多个.gitignore文件 。
在macOS或者Linux系统中创建.gitignore文件可以使用命令行,打开终端,然后使用cd命令导航到包含项目的根文件夹,并输入以下命令为您的目录创建一个.gitignore文件:
>touch .gitignore默认情况下 , 名称前面带点(.)的文件是隐藏的 。单独使用ls命令时,隐藏文件是不可见的 。要从命令行查看所有文件,包括隐藏文件,使用-a标志和ls命令,如下所示:
>ls -a.gitignore文件包含的内容
你应该考虑添加到.gitignore文件中的文件类型是不需要提交的任何文件 。出于安全原因,您可能不希望提交它们,或者因为它们对您来说是本地的,因此对于与您从事同一项目的其他开发人员来说是不必要的 。
以下这些内容可能会包含在文件中:

  • 操作系统文件 。每个操作系统(如macOS、Windows和Linux)都会生成特定于系统的隐藏文件,其他开发人员不需要使用这些文件,因为他们的系统也会生成这些文件 。例如 , 在macOS上 , Finder生成一个. ds_store文件 , 其中包括用户对文件夹外观和显示的首选项,例如图标的大小和位置 。
  • 由代码编辑器和IDE (IDE代表集成开发环境)等应用程序生成的配置文件 。这些文件是根据您、您的配置和您的首选项设置定制的 。
  • 从项目中使用的编程语言或框架自动生成的文件,以及编译后的特定于代码的文件,如.o文件 。
  • 包管理器生成的文件夹 , 比如npm的node_modules文件夹 。这是一个用于保存和跟踪本地安装的每个包的依赖项的文件夹 。
  • 包含敏感数据和个人信息的文件 。此类文件的一些例子是带有您的凭证(用户名和密码)的文件和带有环境变量的文件,如.env文件(.env文件包含需要保持安全和私有的API密钥) 。
  • 运行时文件,如.log文件 。它们提供关于操作系统的使用活动和错误的信息,以及操作系统中发生的事件的历史记录 。
如何忽略Git中的文件和文件夹 
如果您只想忽略一个特定的文件,则需要提供从项目根目录到该文件的完整路径 。
例如 , 如果你想忽略根目录下的一个text.txt文件,你可以这样做:
>/text.txt如果您想忽略位于根目录下test目录中的text.txt文件,您可以执行以下操作:
>/test/text.txt上面内容也可这样写:
>test/text.txt如果您想要忽略所有具有特定名称的文件,则需要写入文件的字面名称 。
例如,如果你想忽略任何text.txt文件,你可以在.gitignore中添加以下内容:
>text.txt在这种情况下,您不需要提供特定文件的完整路径 。此模式将忽略位于项目中任何位置的具有该特定名称的所有文件 。
要忽略一个完整的目录及其所有内容,你需要在目录名的最后加上斜杠/:
>test/该命令将忽略位于项目中任何位置的名为test的目录(包括该目录中的其他文件和其他子目录) 。
需要注意的是 , 如果只写文件的名称,或者只写目录的名称而不加斜杠/,那么该模式将匹配具有该名称的任何文件或目录:
# matches any files and directories with the name test>test如果您想忽略以特定单词开头的任何文件或目录,该怎么办?
假设您希望忽略所有名称以img开头的文件和目录 。要做到这一点,你需要指定你想要忽略的名称,后面跟着*通配符选择器,就像这样:
>img*该命令将忽略所有名称以img开头的文件和目录 。
但是 , 如果您想忽略任何以特定单词结尾的文件或目录,该怎么办呢?
如果希望忽略以特定文件扩展名结尾的所有文件 , 则需要使用*通配符选择器,后面跟着要忽略的文件扩展名 。
例如,如果你想忽略所有以.md文件扩展名结尾的markdown文件 , 你可以在.gitignore文件中添加以下内容:
>*.md该模式将匹配项目中任何以.md扩展名结尾的文件 。

推荐阅读