📜  gitlab gitignore 不工作 - Shell-Bash (1)

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

Gitlab Gitignore 不工作 - Shell-Bash

你是否遇到过以下这种情况:在 Gitlab 中,你用了 .gitignore 文件去忽略某些文件或文件夹,但是这些被忽略的文件依然在仓库中出现了。那么这是为什么呢?接下来我们来一探究竟。

1. .gitignore 文件位置

首先,你需要确认 .gitignore 文件是否放置在了正确的位置。在 Git 中,如果你想忽略某些文件或文件夹,需要在项目的根目录下创建一个名为 .gitignore 的文件,然后在其中定义需要忽略的内容。如果你用了子目录,则需要在相应子目录下创建 .gitignore 文件。

2. .gitignore 规则

在 .gitignore 文件中定义忽略规则时,需要遵循一定的规则:

  • '#' 开头的行视为注释行,将被 Git 忽略。
  • 空行也将被 Git 忽略。
  • 可以使用通配符,如 * 表示匹配任意多个字符,? 表示匹配单个字符。
  • 可以使用 / 表示路径分隔符,如 docs/README.md 表示 docs 目录下的 README.md 文件。
  • / 表示根目录,如 /docs/README.md 表示项目根目录下的 docs 目录中的 README.md 文件。
  • 可以在规则前加 ! 表示不忽略该文件或文件夹,如 !docs/README.md 表示不忽略 docs 目录下的 README.md 文件。
  • 可以使用 \ 转义字符。
3. 忽略已提交的文件

如果你已经将要忽略的文件或文件夹提交到了 Git 仓库中,那么只是修改了 .gitignore 文件是不起作用的。 Git 会忽略那些尚未被提交过的文件,但是已经提交过的文件不会被忽略。

因此,如果你想将某些已提交的文件或文件夹忽略掉,需要使用以下命令:

$ git rm -r --cached 文件或文件夹名称
$ git commit -m "xxx"
$ git push

注意,此命令只是将该文件或文件夹从 Git 版本控制中删除,但是本地文件依然保留。

4. 总结

在 Gitlab 中 .gitignore 文件不工作通常是由以上三种情况导致的。因此,你需要确认 .gitignore 文件位置、遵循 .gitignore 规则、并使用正确的 Git 命令来处理已提交的文件。

希望本文能帮助到你,祝你使用 Gitlab 愉快!