移动命令失败,并显示 git 过滤器分支



我目前正在尝试使用 git filter-branch 重命名存储库中的目录。

到目前为止,我尝试使用的命令是:

git filter-branch --tree-filter "mv engine src" --force HEAD

但这会产生以下结果:

重写 dddd2d70eee09d5600f7aeb87ca8321be5ed6aee (1/888)mv:将引擎重命名为 src:没有这样的文件或目录

树形过滤器失败:MV 引擎 SRC

我不明白为什么,因为这个简单的移动命令本身就可以完美地工作......找不到的目录/文件是什么,我该如何解决?

我在MacOSX 10.10.5上,如果有帮助,请使用zsh。

免责声明:我真的不在乎在这里讨论做一个git mvmv而不是那个,我已经读过了,这不是这里的重点。我只想知道为什么这会以这种方式失败。

它适用于test && command || echo

git filter-branch --tree-filter 'test -f engine && mv engine src || echo skipped' --force -- HEAD

对于使用 cmder 的windows(您需要将 ' 替换为")

git filter-branch --tree-filter "test -f engine && mv engine src || echo skipped" --force -- --all

最新更新