我有一个本地分支,有几个提交。 现在我需要重写所有这些提交并更改文件名,但只能在一个特定目录中。我不希望对我当地分支机构的提交进行任何更改。
在该目录中运行git filter-branch 'some command' master..HEAD
会给我
You need to run this command from the toplevel of the working tree.
当然我可以从顶层运行它,但这会迫使我用我真正想要更改的目录路径编写脚本,最终我想在几个目录中运行相同的脚本而不是真的知道什么是完整路径。
有没有办法运行filter-branch并让脚本将当前目录作为工作目录?
答案 0 :(得分:3)
不,没有。但只需让你的脚本获取一个参数,然后在你的顶层中运行它:
git filter-branch 'yourscript the/sub/directory' master..HEAD