我试图通过创建补丁diff和apply它.我的补丁有新文件,在apply我收到错误后.
git diff master origin/master > patch1.diff
git apply patch1.diff -v
Checking patch test3...
error: test3: No such file or directory
Run Code Online (Sandbox Code Playgroud)
补丁:
diff --git a/test3 b/test3
deleted file mode 100644
index df6b0d2..0000000
--- a/test3
+++ /dev/null
@@ -1 +0,0 @@
-test3
Run Code Online (Sandbox Code Playgroud)
我做错了什么或者git apply没有创建新文件?
Car*_*rum 10
您正在向后创建补丁 - 该补丁正在尝试删除该文件.我想你想要:
git diff origin/master master > patch1.diff
Run Code Online (Sandbox Code Playgroud)
您可能会发现git format-patch有用.如果您目前已经master签出,您可以这样做:
git format-patch origin/master
Run Code Online (Sandbox Code Playgroud)
该命令将产生一堆补丁文件,每个提交一个不同的分支和origin/master.然后,您可以应用那些使用git am并保留所有额外数据,如提交消息和作者信息.