如何返回 .gitignore 中的上一个目录

How to go back to previous directory in .gitignore

我使用 PhpStorm 作为我的 IDE,它在名为 .idea 的目录中设置了 .gitignore 文件。有些文件夹和文件我想忽略,但无论如何我都无法转到上一个文件夹。

让文件名为 example.txt。文件夹树如下所示:

- /Project
  - /.idea
    - .gitignore
    - workspace.xml
  - /src
    - example.txt

如何忽略 example.txt 文件?我尝试了 ../src/example.txtsrc/example.txt/../src/example.txt

.gitignore 适用于目录及其子目录。 它不适用于兄弟目录或父目录。

要忽略 src/example.txt 您可以:

  1. src/ 目录中创建一个 .gitignore 文件,包含例如

    example.txt
    
  2. 在父目录中创建一个 .gitignore 文件,包含例如

    src/example.txt
    

如果您已将 src/example.txt 添加到存储库,即使您将 src/example.txt 添加到 .gitignore,git 也不会忽略它。您需要像这样从存储库中删除它:

git rm --cached src/example.txt

此命令仅从 git 存储库中删除文件。原始文件将保留在 src/example.txt

此外,要忽略 src/example.txt,您需要在顶层目录(在 Project 上)创建一个 .gitignore 文件,并将 src/example.txt 放入其中。

如果您已经将文件推送到 git,尽管您将 example.txt 添加到 .gitignore,但缓存日志仍然存在。

所以,那些缓存的日志也应该被删除。 运行 以下代码。

$ git rm --cached `src/example.txt`

另外,要忽略 src 文件夹下的所有文件,然后将 src/ 添加到 .gitignore。然后它将忽略文件夹 src/ 下的所有文件和 src 文件夹本身。

如果您想删除所有被跟踪的文件,运行以下代码。

$ git rm -r --cached .

使用上面的命令,您可以清除所有缓存跟踪。