所以当我去提交时,我必须从提交中取消选中 app/build 目录。我想从跟踪中删除这些文件。
我的.gitignore
文件看起来是否正确?
build/
app/build/
.idea
.gradle
我试过了
git rm -r --cached .
git add .
这似乎有效,git status
显示所有构建文件都已删除。然后我做一个提交,文件被删除。但是在构建和文件更改后,它们会显示在我的下一次提交中。为什么会这样,为什么我无法取消跟踪这些文件?
看起来build
目录已经在索引中。用
git rm -r --cached .
git add .
以删除未跟踪的文件,然后提交更改。
但最好从历史记录中删除文件:
git filter-branch --index-filter 'git rm -r --cached --ignore-unmatch <path-to-build-dir>' --prune-empty -f -- --all
但在这种情况下,您还必须使用强制推送来更新服务器历史记录。