4

我有一个有几个提交的本地分支。现在我需要重写所有这些提交并更改文件名,但只能在一个特定目录中。我不希望对不在本地分支上的提交进行任何更改。

git filter-branch 'some command' master..HEAD站在那个目录里跑步给了我

You need to run this command from the toplevel of the working tree.

当然我可以从顶层运行它,但这会迫使我用我真正想要改变的目录的路径来编写我的脚本,最终我想在几个目录中运行相同的脚本而不知道那里有什么完整路径是。

有没有办法运行 filter-branch 并使脚本具有当前目录作为它的工作目录?

4

1 回答 1

3

不,那里没有。但是只要让你的脚本接受一个参数,然后在你的顶层运行它:

git filter-branch 'yourscript the/sub/directory' master..HEAD
于 2013-02-21T09:55:44.530 回答