如何应用使用 git diff 创建的补丁(首先如何用 git 应用补丁)

git

大家好,
我是Mandai,Wild团队负责开发工作的成员。

Git 有一个叫做“补丁”的机制。
虽然我偶尔会在 `git stash` 命令不起作用时使用它,但我似乎总是记不住这个极其简单的命令。

所以我决定把它留在我的博客上,这样我就可以忘记它了。

 

创建补丁时

要创建补丁,请使用 git diff 命令。

git diff test.txt > test.patch

 

创建完所有需要的补丁后,只需使用 `git reset` 命令即可恢复到之前的状态。
只要拥有这些补丁文件,就可以将系统恢复到当时的状态。

默认情况下,差异比较会显示文件的当前状态及其索引。
您还可以指定提交 ID,以获取几代之前的差异。

我从未使用过,但似乎如果你指定两个提交 ID,你也可以得到这两个提交 ID 之间的差异。

 

何时使用贴片

现在让我们应用补丁内容。

git apply test.patch

 

以上就是全部内容。
但是,如果执行 `git apply` 时的文件内容与执行 `git diff` 时的文件内容不同,则更改不会生效。
在这种情况下,您可以使用指定提交 ID 的方法来获取差异,我在 `git diff` 部分已简要介绍过这种方法。

我突然想知道如何才能像 patch --dry-run 那样做,经过一番研究,我发现 --check 选项似乎是答案。

 

概括

我们总结了使用 git 创建和应用补丁的步骤。

这是我第一次了解到可以使用 git diff 在提交 ID 之间创建补丁,但这是 git 特有的功能,我希望有一天能尝试随意使用它,并为此感到自豪。

这次经历最大的收获之一是让我有机会研究 `git apply` 的 `--check` 选项。
它似乎在代码审查的预检查阶段会很有用。

 
就这样。

如果您觉得这篇文章对您有帮助,请点个“赞”!
2
加载中...
2票,平均分:1.00/12
78,378
X Facebook Hatena书签 口袋

这篇文章的作者

关于作者

万代洋一

我的主要工作是开发社交游戏的Web API,但幸运的是,我也有机会参与其他各种任务,包括市场营销。
我在Beyond中的图像版权采用CC0协议。