【发布时间】:2022-09-29 23:38:38
【问题描述】:
我正在创建一个 powershell 脚本,其目标是通过几个 git 分支,保存工作更改的补丁,切换到主干分支以拉取远程提交,然后切换回工作分支并重新应用工作更改。
这是我正在专门测试的方法:
git diff > test.patch
git restore .
*do main branch operation*
git apply test.patch
但是,当我尝试应用刚刚创建的补丁时,出现错误:
错误:输入中没有有效的补丁(允许使用 \"--allow-empty\")
有谁看到我在这里做错了什么?
Git版本:2.35.2.windows.1
Powershell 版本:5.1.19041.1320
-
很可能 PowerShell 通过将补丁转换为 UTF-16-LE 来破坏补丁。但是,您可以通过强制
git diff命令使用颜色来获得类似的效果。这就是为什么健壮的脚本避免使用git diff而使用各种管道命令。
标签: git powershell git-patch