如果基础不是Git仓库,是否有创建Git补丁的方法?

3
在一个Git仓库中,当我调用git diff时,我会得到一个Git补丁,例如:
diff --git a/a b/a
index 7898192..6178079 100644
--- a/a
+++ b/a
@@ -1 +1 @@
-a
+b

可以创建一个可以传递给patch -p1的补丁,没有条件要求diff文件在git仓库中。使用git diff path1 path2可以生成一个补丁,但它(几乎)与使用diff -u生成的补丁格式相同。这导致极其奇怪的缺少手册和教程来覆盖在应用程序执行之前从创建补丁的第二个文件中删除的用例。它几乎在所有用例中都被删除,因为否则每个调用patch都可以用cp替换(至少在同一代码仓库内)。也许需要编辑补丁-同样在全世界没有解释说明。
我知道可以使用git init轻松创建git仓库,但我正在寻找一种避免这样做的可能性。

你在尝试做什么? - evolutionxbox
@evolutionxbox 在脚本中以编程方式编辑文件,即在脚本运行之前将编辑保存为补丁,然后在脚本运行时应用这些更改。 - Kalle Richter
1个回答

4

git diff也可以在Git仓库外使用,例如git diff path1 path2,但是diff -u可以创建类似的统一补丁。

然而,有人可能会认为输出的路径需要根据manpages和教程进行修改,但是应该记录哪个文件应该被打补丁,表明了错误的-p值,这远非直观,应该进行文档化。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接