You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用git add -i编辑diff时出现corrupt patch报错的解决求助

解决Git error: corrupt patch at line 13 问题

核心原因

你碰到的报错是因为手动编辑后的patch不符合Git的严格格式规范,结合Win10+Notepad++的环境,主要是这几个细节没做到位:

具体修复步骤

1. 修正patch头部的行号标记

你编辑后的patch头部还是@@ -520,7 +520,7 @@,但实际修改后代码行数已经变化:原patch是替换1行(注释行换成非注释行),现在你要保留注释行、删除新增行,相当于减少了1行,所以正确的头部应该是@@ -520,7 +520,6 @@——+后面的数字要对应修改后的总行数。

2. 处理Windows换行符冲突

Notepad++默认用CRLF(Windows换行),但Git要求patch用LF(Unix换行),这会导致格式识别错误:

  • 打开编辑的patch文件后,点击Notepad++顶部菜单「编辑」→「文档格式」→「UNIX (LF)」
  • 保存后再让Git应用patch

3. 严格匹配代码格式

编辑后的patch里:

  • 要保留的#client.hide(True)行不能带任何前缀(既不要-也不要+),且缩进、内容必须和原文件完全一致
  • 不要添加或删除原文件中存在的空行,保持和原代码的空行结构一致

4. 更省心的替代方案

如果手动编辑patch容易出错,直接用更简单的命令:

  • 放弃该文件所有修改:git checkout -- path/to/your/file.py
  • 只恢复特定修改:先执行git reset HEAD path/to/your/file.py取消暂存,再用git add -p交互式暂存,遇到该修改块时选n跳过,或选e编辑时严格遵循正确格式

正确的编辑后patch示例

@@ -520,7 +520,6 @@ class AreaManager:
         self.broadcast_ooc(
             f"[{client.id}] {client.showname} ({client.name}) is GM in this hub now."
         )
         #client.hide(True)

     def remove_owner(self, client):
         """

内容的提问来源于stack exchange,提问作者user27575278

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 20:26:02