当前位置:首页分享Git入门(二十六):忽略特殊文件

Git入门(二十六):忽略特殊文件

在使用Git进行版本控制时,我们经常会遇到一些不希望提交到版本库的文件,比如包含敏感信息的配置文件或者操作系统自动生成的临时文件。为了管理这些文件,Git提供了.gitignore文件,它允许我们定义一系列规则来告诉Git哪些文件应该被忽略。

不需要从头写.gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。所有配置文件可以直接在线浏览:https://github.com/github/gitignore

忽略文件的原则是:

  1. 忽略操作系统自动生成的文件,比如缩略图等;
  2. 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件;
  3. 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。

首先,创建.gitignore文件并添加规则是很简单的。你可以在Git工作目录的根目录下创建这个文件,并在其中列出你想要忽略的文件或文件模式。例如,如果你在Windows环境下进行Python开发,你可能需要忽略以下文件:

# Windows:
Thumbs.db
ehthumbs.db
Desktop.ini

# Python:
*.py[cod]
*.so
*.egg
*.egg-info
dist
build

同时,你可能还有一些个人配置文件,如数据库密码文件,也需要添加到.gitignore中:

# My configurations:
db.ini
deploy_key_rsa

完成这些规则后,你应该将.gitignore文件提交到Git,这样所有协作者都能遵循相同的忽略规则。

需要注意的是,.gitignore文件本身应该被Git跟踪,因为它是一个项目级别的配置文件。正如在开头提到的,GitHub提供了各种预设的.gitignore模板,你可以直接使用或组合这些模板来创建适合你项目的.gitignore文件。

如果你发现某个文件被.gitignore忽略了,但你确实需要将其添加到版本库,你可以使用git add -f命令来强制添加该文件。如果你不确定是哪个规则导致了忽略,可以使用git check-ignore命令来检查:

$ git check-ignore -v App.class
.gitignore:3:*.class	App.class

此外,如果你的.gitignore规则过于宽泛,导致一些你实际上想要跟踪的文件也被忽略了,你可以在.gitignore中添加例外规则。例如,如果你想要跟踪.gitignore文件和App.class文件,你可以这样写:

# 排除所有.开头的隐藏文件:
.*

# 排除所有.class文件:
*.class

# 不排除.gitignore和App.class:
!.gitignore
!App.class

通过在文件名前加上!,你可以告诉Git忽略.gitignore中的某些规则。这样,你就可以在不破坏.gitignore规则的前提下,添加特定的文件到版本库。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧