📌  相关文章
📜  git 忽略添加的文件夹 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:00:57.740000             🧑  作者: Mango

Git 忽略添加的文件夹 - Shell-Bash

在Git中,我们经常需要忽略一些不必要的文件,如临时文件、日志文件、缓存文件等。但是,有些文件夹可能也不需要被添加到Git中,因为它们可能包含一些不必要的信息,或者是由其他工具生成的文件夹。这时候我们需要使用.gitignore文件来告诉Git忽略这些文件夹。

.gitignore 文件

.gitignore 文件是Git用来忽略某些文件或文件夹的配置文件。在这个文件中可以使用通配符来匹配不需要的文件或文件夹。我们可以在.gitignore文件中添加单个文件名、文件夹名、通配符、正则表达式等来匹配需要忽略的文件。

.gitignore 文件的路径可以在Git的配置文件中指定,默认情况下它应该在项目根目录下。

这是一个简单的.gitignore文件示例:

# 忽略 log 文件夹
log/
# 忽略 DS_Store 文件
.DS_Store
# 忽略 node_modules 文件夹
node_modules/

在这个.gitignore文件中,我们告诉Git忽略log文件夹、.DS_Store文件和node_modules文件夹。

忽略添加的文件夹

如果你想忽略一个文件夹,可以在.gitignore文件中添加它的名称。假设我们有一个名称为temp的文件夹需要被忽略,我们可以这样添加到.gitignore文件中:

# 忽略 temp 文件夹
temp/

这样,所有temp文件夹中的文件都将被Git忽略。

忽略指定的多个文件夹

如果你有多个文件夹需要被忽略,可以使用通配符来匹配所有这些文件夹。 ** 可以匹配多个路径层级,

# 忽略 lib 文件夹和 dist 文件夹
/{lib,dist}/
# 忽略 demo 下一级的所有 node_modules 文件夹
demo/*/node_modules/
# 忽略所有 node_modules 文件夹
**/node_modules/

这个.gitignore文件示例中,我们告诉Git忽略lib文件夹、dist文件夹和所有node_modules文件夹。

不忽略指定的文件夹

有时候,我们想要反向操作:忽略所有文件夹,但是指定一些需要被添加到Git的文件夹。你可以使用!来取反匹配结果,指定需要添加的文件夹:

# 忽略所有文件夹
*/
# 忽略 node_modules 文件夹
**/node_modules/
# 不忽略 my-lib 文件夹
!my-lib/

这个.gitignore文件示例中,我们告诉Git忽略所有文件夹和node_modules文件夹,但是不忽略my-lib文件夹。

结论

在Git中,.gitignore文件是非常有用的配置文件。它可以帮助我们忽略不必要的文件和文件夹,使提交更加干净和有条理。.gitignore文件中的语法很简单,但是它的用法非常灵活。在编写.gitignore文件时,你可以使用单个文件名、文件夹名、通配符、正则表达式,以及取反操作等,来匹配需要忽略的文件。