【问题标题】:Error when trying to apply git diff, "No valid patches in input"尝试应用 git diff 时出错,“输入中没有有效补丁”
【发布时间】: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


【解决方案1】:

可能的窗口将行终止符更改为 CRLF。把它还给LF。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-22
    • 2020-08-13
    • 2010-10-01
    • 1970-01-01
    • 2013-06-25
    • 2014-09-09
    • 1970-01-01
    • 2022-12-04
    相关资源
    最近更新 更多