如何在Windows上打补丁?

Ash*_*ppa 20 windows patch

给定(源)补丁文件,在Windows下的源文件上应用此补丁的最简单方法是什么?

一个GUI工具,我可以直观地比较未更改的源代码行将是很好的.

Nic*_*ery 18

感谢Macke,在Windows操作系统下应用补丁文件的好方法是使用Git.据我所知,Git是一个像SVN一样的版本控制解决方案.

以下是应用补丁的指南:

  • 首先,在这里下载最新版本的Windows Git Edition: GIT
  • 使用cmd提示符,将目录更改为修补程序文件和要修补的文件
  • 现在您可以使用以下命令行:
git apply --ignore-space-change --ignore-whitespace --whitespace=nowarn file.patch
Run Code Online (Sandbox Code Playgroud)

简单不是吗?

谢谢Macke


SCd*_*CdF 6

Patch for Windows是您正在寻找的.

  • 请注意,此补丁与Vista的UAC不相称.试试Git-for-windows的patch.exe,它附带一个解决问题的清单. (8认同)

Von*_*onC 5

从Git 2.3.3(2015年3月)开始,您可以git apply --unsafe-paths在git repo之外使用git apply。

参见Junio C Hamanocommit 5244a31 gitster

git apply”对于在工作树(--index/ 下--cached)或当前目录(用作GNU补丁的替代目录)之外读取,删除,更新和创建路径时不太谨慎。

该文档现在包括:

--unsafe-paths:
Run Code Online (Sandbox Code Playgroud)

默认情况下,会影响工作区域之外的补丁(由Git控制的工作树,或将“ git apply”替换为GNU补丁时为当前工作目录)被拒绝为错误(或作弊)。

git apply用作“更好的GNU补丁”时,用户可以传递--unsafe-paths选项以覆盖此安全检查。使用或使用
时,此选项无效。--index--cached

因此,即使您已安装gitgit apply也可以提供帮助,即使在任何git repo之外也可以。