使用git am应用补丁

时间:2015-02-01 00:35:49

标签: linux git

我知道有一种方法可以使用git am将补丁应用到我的提交中。我一直在使用命令patch -pnum< patch_file_name.txt这样做。 那么有人可以解释一下git是如何工作的,我是否需要打开邮箱才能使用它?

感谢。

1 个答案:

答案 0 :(得分:1)

git am将补丁应用于您的存储库。它改变了补丁文件中指定的文件并创建了一个git commit。

git am期望以特殊方式格式化补丁文件,作为电子邮件提交补丁。它还包含提交消息。使用git am命令生成git format-patch的修补程序。

正常修补程序使用git diff生成,不适用于git am

patch命令可以理解两种差异文件样式。它从补丁文件中应用更改而不执行任何其他操作。

您无需打开邮箱即可使用git am


git am的典型补丁文件:

From b405aa93926c458a6723c8a2b3d2e768da26350b Mon Sep 17 00:00:00 2001
From: Foo Bar <email@example.com>
Date: Sun, 1 Feb 2015 02:33:35 +0100
Subject: [PATCH] update tasks

---
 TODO.md | 1 ++++
 1 file changed, 1 insertions(+)

diff --git a/TODO.md b/TODO.md
index 9b7aad8..8cb25ce 100644
--- a/TODO.md
+++ b/TODO.md
@@ -8,7 +8,11 @@
   - bar
   - foo
 - [ ] lorem ipsum
+- [ ] lorem dolor

2.2.2

patch / git apply命令生成的差异:

diff --git a/TODO.md b/TODO.md
index 9b7aad8..8cb25ce 100644
--- a/TODO.md
+++ b/TODO.md
@@ -8,7 +8,11 @@
   - bar
   - foo
 - [ ] lorem ipsum
+- [ ] lorem dolor