我试图从我的存储库中提取一些补丁,并将它们应用到另一个存储库中的另一个分支。
我正在运行此命令来获取补丁文件:
git format-patch develop --stdout > changes.patch
以UTF16-LE格式而不是ASCII或UTF8输出补丁,这似乎是PowerShell的默认硬编码。所以,我写这个命令:
git format-patch develop --stdout | Out-File changes.patch -Encoding ASCII
这给了我补丁文件。当我尝试使用
应用此补丁文件时git apply --stat changes.patch
然后git抛出fatal: git apply: bad git-diff - expected /dev/null on line 18
的错误。补丁文件 在第18行有/dev/null
,为什么命令抱怨它呢?如果我在命令提示符下运行相同的命令(git apply ...),那么它可以正常工作。
这个问题是否与UTF编码有关? 如何在PowerShell中应用git补丁?