我想将补丁应用于当前目录中的文件。补丁文件中的路径只显示/ FILETOPATCH.something b / FILETOPATCH.something。如果我使用它与git apply它不起作用。要修补的文件和.patch文件位于同一目录中。
我在许多变体中尝试了--directory和-p选项但没有成功。
使用patch -p1< patchfile.patch工作正常。
如果我在.patch文件中设置了存储库根目录的绝对路径,那么它也可以使用git apply,但是必须有一种方法可以不编辑补丁文件。
这适用于git apply
diff --git a/htdocs/something/whatever/file.code b/htdocs/something/whatever/file.code
index 385f3f4..07d8062 100644
--- a/htdocs/something/whatever/file.code
+++ b/htdocs/something/whatever/file.code
...
PATCH DATA
...
但不是这个(这是原作)
diff --git a/file.code b/file.code
index 385f3f4..07d8062 100644
--- a/file.code
+++ b/file.code
...
PATCH DATA
...
如何在不更改补丁文件的情况下获取git应用的任何想法?
答案 0 :(得分:2)
如何制作差异文件?
嗯,这是我关于如何应用补丁的过程。希望它能帮到你
git diff --full-index <SHAsum of commit A> <SHAsum of commit B> > change.patch (full index for binary file)
git apply --check --verbose --summary change.patch (check if it is in good patch or not)
git apply --verbose change.patch