如何应用使用 git diff 创建的补丁?

git

你好。
我是Mandai,负责Wild 开发团队。

Git 有一个名为“patch”的机制,
当我无法使用 git stash 时,我有时会使用它,但我记不起这个极其简单的命令了。

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

 

创建补丁时

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

git diff test.txt > test.patch

 

创建完所需数量的补丁后,可以使用 `git reset` 命令恢复原始状态。
只要拥有补丁文件,就可以将内容恢复到当前状态。

默认情况下,差异比较的是当前文件和该文件的索引状态。
您也可以通过指定提交 ID 来比较几代之前的版本之间的差异。

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

 

何时使用贴片

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

git apply test.patch

 

就是这样。
但是,如果执行 `git apply` 时文件的内容与执行 `git diff` 时文件的内容不同,则更改不会应用。
在这种情况下,可以使用 `git diff` 中简要介绍的方法,该方法指定要比较差异的提交 ID。

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

 

概括

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

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

本次课程的另一个重要收获是学习了一些关于 `git apply` 命令的 `--check` 选项的知识。
它似乎可以用于代码审查之前的代码预检。

 
就是这样。

如果您觉得这篇文章有帮助,请点赞!
1
加载中...
1 票,平均:1.00 / 11
77,109
X Facebook 哈特纳书签 口袋

写这篇文章的人

关于作者

万代洋一

我的主要工作是为社交游戏开发 Web API,但我也很幸运能够做很多其他工作,包括营销。
此外,我在 Beyond 中的肖像权被视为 CC0。