我正在尝试将多个补丁从一个git存储库应用到另一个。我已经创建了补丁(我想要13个最新的更改):
cd repoA
git format-patch -13 -o ..\patch-directory
cd ..\repoB
git am ..\patch-directory\*.patch
这给出了:
fatal: could not open '..\patch-directory\*.patch' for reading: Invalid argument
一个非常相似的问题,似乎表明这是正确的方法(how to apply multiple git patches in one shot),但它不起作用。我可以通过在多个命令中传递完整的文件名来单独应用补丁(并且,我可以轻松地创建一个脚本以逐个应用它们),但是,我想知道为什么这不起作用。< / p>
我正在使用git version 2.9.2.windows.1
。
答案 0 :(得分:1)
如果您使用的外壳没有进行whildcard扩展,那么您需要自己进行此操作或使用具有此功能的外壳。 Windows外壳程序不支持,因此您可以使用Git Bash或使用Powershell
git am (dir ..\patches\*.patch)
将对名称进行扩展,然后将所有扩展的名称作为参数传递给git am
。
一个替代方法可能是foreach-object调用(dir ..\patches\*.patch | ForEach-Object { git am $_}
),但我会担心这种处理错误补丁的正确方法。