Dav*_*ave 7 git status gitignore
我的 .gitignore 文件包含
project/app/__pycache__
Run Code Online (Sandbox Code Playgroud)
但是当我运行 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
Run Code Online (Sandbox Code Playgroud)
将此目录包含在 .gitignore 中不应该阻止这种情况吗?或者我做错了什么?
这是一种常见的情况:您提交了一些文件,但后来才意识到实际上应该忽略它们。
一种解决方案是清理 Git 缓存(改编自Git Tower 的文章):
.gitignore(听起来您已经这样做了)。git status必须返回“没有任何内容可提交,工作树干净”)git rm与选项一起使用--cached以删除在被忽略之前意外提交的违规文件/模式,例如git rm -r --cached project/app/__pycache__
Run Code Online (Sandbox Code Playgroud)
或者指定确切的文件/目录,例如git rm -r --cached path/to/file
现在您可以将这些更改添加到您的存储库历史记录中:git add .
并提交它们:git commit -m "Clean up ignored files"
这应该会让你的仓库走上正轨。
那是因为在将其添加到之前就已经对其进行了跟踪.gitignore。因此,它现在将其解释为已删除。要解决此问题,您必须从所有以前的提交中删除该文件。这是一些指导/sf/answers/2458103861/
| 归档时间: |
|
| 查看次数: |
3139 次 |
| 最近记录: |