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