我正在尝试学习 git 补丁,所以我设置了一个测试仓库并进行了一些提交。
然后我创建了一个补丁:git format-patch -1 HEAD --stdout > changes.patch
接下来,我检查了一个新分支并尝试使用 changes.patch: git am .\changes.patch
。它给了我错误Patch format detection failed.
我在这里搜索,发现了这个相关的问题。
所以我尝试了git apply .\changes.patch
。它给了我error: unrecognized input
。
补丁文件对我未经训练的眼睛来说似乎很好:
From 1c054c05bc528afbd929a1744fcacf9d70069246 Mon Sep 17 00:00:00 2001
From: MyUsername <my.email@gmail.com>
Date: Sat, 4 May 2019 22:43:32 -0400
Subject: [PATCH] Commit 4
---
test.txt | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/test.txt b/test.txt
index 58ef11d..763fe4e 100644
--- a/test.txt
+++ b/test.txt
@@ -1,3 +1,4 @@
Initial commit
Commit 2
-Commit 3
\ No newline at end of file
+Commit 3
+Commit 4
\ No newline at end of file
--
2.21.0.windows.1
我认为可能是补丁与 repo 位于同一目录中,因此我将其移至另一个目录。结果是一样的。
我也注意到很多人<
在命令中有一个,所以我试了一下:git am < ..\changes.patch
. 显然这不是有效的语法。
这是在带有 PowerShell 的 Windows 上使用 64 位 git。
有任何想法吗?