gpt4 book ai didi

git - 为什么 .gitignore 中的目录仍然被 "git status"跟踪?

转载 作者:行者123 更新时间:2023-12-04 14:14:54 25 4
gpt4 key购买 nike

我的 .gitignore 文件包括

project/app/__pycache__

但是当我运行 git status 时,它会报告此目录中文件的更改......
mydomain:main satishp$ git status
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)



deleted: project/app/__pycache__/__init__.cpython-37.pyc
deleted: project/app/__pycache__/models.cpython-37.pyc

不应该在 .gitignore 中包含这个目录吗?还是我做错了什么?

最佳答案

这是一个常见的场景:您提交了一些文件,后来才意识到您实际上应该忽略它们。

一种解决方案是清除 Git 缓存(改编自 Git Tower's article):

  • 更新您的 .gitignore使用正确的模式(听起来您已经这样做了)。
  • 提交或 stash 任何未完成的更改。你的工作副本必须是干净的(即 git status 必须返回“没有提交,工作树干净”)
  • 使用 git rm--cached删除在被忽略之前意外提交的违规文件/模式的选项,例如
  • git rm -r --cached project/app/__pycache__

    或者指定确切的文件/目录,例如 git rm -r --cached path/to/file
  • 现在您可以将这些更改添加到您的存储库历史记录中:git add .
  • 并提交它们:git commit -m "Clean up ignored files"

  • 这应该让你的 repo 走上正轨。

    关于git - 为什么 .gitignore 中的目录仍然被 "git status"跟踪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61241873/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com