使用git filter-branch移动命令失败

时间:2016-01-28 12:47:18

标签: git git-filter-branch

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

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

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

但这会产生以下结果:

  

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

     

树过滤器失败:mv engine src

我不明白为什么,因为这个简单的移动命令可以完全独立运行...找不到的目录/文件是什么,我该如何解决?

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

免责声明:我不是真的关心这里有关于git mvmv的讨论,而不是那个,我已经读过了它,这不是重点。我只是想知道为什么这会失败。

1 个答案:

答案 0 :(得分:0)

它与test && command || echo

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

对于windowscmder(您需要将'替换为“)

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