尝试使用 make patch 时,我得到“致命的:不明确的参数 'origin/master':未知的修订版或路径不在工作树中。”

When trying to utilize make patch, I get “fatal: ambiguous argument 'origin/master': unknown revision or path not in the working tree.”

我已经为这个问题绞尽脑汁好几个小时了。为澄清起见,我在 Ubuntu 20.04(如果重要的话是 VM)上运行,并且在尝试以下列方式使用 Makefile 时遇到错误:

Screenshot of Error Message on Ubuntu Terminal

错误显示:fatal: ambiguous argument 'origin/master': unknown revision or path not in the working tree. make: *** [Makefile:64: patch] Error 128

如您所见,在使用 make 补丁之前,我已经初始化了一个 git 存储库。我搞不清楚了;如果还有什么我可以提供来进一步澄清我的问题或我可以尝试的事情,请告诉我。为了提供更多说明,我实际上是在尝试使用此 Makefile 修补我的解决方案代码。我已经完成了解决方案代码的编写(有效),我正在尝试对其进行修补以发送。

在此先感谢您!

您没有origin/master

As you can see, I have initialized a git repository before utilizing the make patch ...

这不是 make patch 的用途,但是:这里的理论是您将克隆一些 现有的 Git 存储库(使您的新本地 Git 存储库)。然后,您将在您的 Git 存储库 的工作树中工作,也许进行新的提交——细节取决于写这个特定 Makefile 的人在想什么——然后最终 运行 make patch。这将使用您本地 Git 的 origin/master 远程跟踪名称 ,这是您本地 Git 对其他 [=52] 的记忆=]的分支master.

您没有遵循这个特定的过程。也许您是从头开始的,只有一个空的 Git 存储库。然后将一些文件放入其中,包括这个 Makefile。或者,也许您克隆了一个存储库,其主分支不是 master,而是 main,因此您有一个 origin/main 和一个 main.

无论实际情况如何,您遵循的过程与编写此特定 Makefile 条目的人所设想的过程并不完全相同。他们 make patch 假设你会有一个 origin/master。你没有。

不清楚的是你是否应该。也许他们的想法是有缺陷的:也许你确实有一个 origin/main,他们应该假设你会有一个 origin/main。或者,也许您根本没有名为 originremote

无论情况如何,您现在都不能按照您尝试使用它的方式使用这个特定的 Makefile 目标:必须改变一些东西,无论是您用来达到这一点的过程,还是 Makefile 目标,或两者兼而有之。