如果基础不是git存储库,有没有办法创建一个git补丁?

时间:2018-02-22 23:08:39

标签: git diff patch

在git存储库中,我在调用git diff时得到一个git补丁,例如

diff --git a/a b/a
index 7898192..6178079 100644
--- a/a
+++ b/a
@@ -1 +1 @@
-a
+b

可以传递给patch -p1。有没有办法创建这样的补丁,而条件是diffed文件在git存储库中。

git diff path1 path2生成一个补丁,但它(几乎)的格式与使用diff -u生成的补丁相同。这导致非常奇怪的缺少联机帮助页和教程,以涵盖在应用程序发生之前删除创建补丁的第二个文件的用例。它几乎在所有用途中都被删除,因为否则每个补丁的调用都可以用cp替换(至少在同一个存储库中)。也许有必要编辑补丁 - 世界上没有任何解释。

我知道可以使用git轻松创建git init存储库,但我正在寻找避免这种情况的可能性。

1 个答案:

答案 0 :(得分:1)

git diff也可以在git存储库外部使用git diff path1 path2,但diff -u可以创建统一的补丁,可以以类似的方式使用。

虽然人们可能认为输出的路径需要根据联机帮助页和教程进行调整,但哪个文件应该修补的问题表明错误的-p值远非直观且应记录在案。