"Cannot rewrite branch(es) with a dirty working directory".
git的错误
我是新来的Git“不能用脏的工作目录重写分支(ES)”。
这个错误是什么意思?我应该做什么?
"Cannot rewrite branch(es) with a dirty working directory".
git的错误
我是新来的Git“不能用脏的工作目录重写分支(ES)”。
这个错误是什么意思?我应该做什么?
肮脏的工作目录意味着您有未提交的分支更改。你可以提交或隐藏它们。藏匿只需使用:
git stash
,并以此来把你变回
git stash apply
帮助...谢谢! – jldupont 2010-01-08 20:31:36
请注意,您实际上可能没有一个肮脏的工作目录:在1.7.7.1之前的git中存在一个bug,这意味着运行'filter-branch'时git不会刷新其内部索引。因此,无论如何请尝试运行这两个命令 - 除非有人知道强制索引刷新的方式不太方便。 (关于[这个问题]的更多讨论](http://stackoverflow.com/questions/6463963/git-filter-branch-says-working-tree-is-dirty-when-it-is-not)。) – 2012-05-16 11:04:31
从上面链接添加的注释:'git update-index -q --ignore-submodules --refresh'应该更新索引! – 2012-05-16 15:17:14
这是我第一次混帐回购协议,我犯了一些不属于......不得不纠正它。 – jldupont 2010-01-08 20:52:27
我遇到同样的问题,并且我对git有经验。如果我做'git filter-branch --subdirectory-filter somedir - --all',我最终会处理完整个repo,但是如果我做了'git filter-branch --tree-filter'rm somefile' - 在处理具有上述错误的第一个分支之后,它全部退出。为什么'filter-branch'保存'--subdirectory-filter'的状态,但是如果'--tree-filter'改变目录,停止? – 2011-10-12 19:24:05