git错误"无法使用脏工作目录重写分支"

jld*_*ont 11 git

"Cannot rewrite branch(es) with a dirty working directory".

我是Git的新手 - 我试着谷歌搜索无济于事的答案.

这个错误是什么意思?我该怎么办?

jon*_*scb 20

脏工作目录意味着您对分支进行了未提交的更改.您可以提交它们或存储它们.要藏匿使用:

git stash
Run Code Online (Sandbox Code Playgroud)

并使用它来恢复您的更改

git stash apply
Run Code Online (Sandbox Code Playgroud)

  • 请注意,您可能实际上没有脏工作目录:1.7.7.1之前的git中存在一个错误,这意味着在运行`filter-branch`时git不会刷新其内部索引.因此,无论如何都要尝试运行这两个命令 - 除非有人知道强制索引刷新的不那么强硬的方法.(关于[这个问题]的更多讨论(http://stackoverflow.com/questions/6463963/git-filter-branch-says-working-tree-is-dirty-when-it-is-not).) (3认同)
  • 从上面链接添加的评论:`git update-index -q --ignore-submodules --refresh`应该更新索引! (2认同)