14

我想将我分叉的存储库的本地克隆与原始/上游存储库进行比较,以查看是否有进一步的提交需要我拉/合并。我想从命令行执行此操作。

我使用以下命令将原始存储库添加到我的远程列表中:

git remote add upstream <original repo URL>

这在Github 自己的关于 fork a branch 主题的页面中进行了概述。

但是,当我运行git diff upstreamgit diff upstream/master 按照此处的建议或此处git diff master upstream/master 建议运行时,我得到了这个:

fatal: ambiguous argument 'upstream': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

该命令git diff origin/master不会返回错误(或任何与此相关的内容)。我错过了什么吗?

4

1 回答 1

19

git diff在自己的本地仓库和上游之间运行之前,必须首先获取上游仓库。然后在本地进行比较。

git fetch upstream

这不会影响您的 repo 的工作分支,但它确实添加了一大堆“远程”分支,您可以使用git branch -a.

一旦你有了这些,使用:

git diff master upstream/master

这会将您拥有的本地存储库与对原始存储库所做的任何更新进行比较。此命令的变体将处理您可能对自己的分支所做的更新,或者git diff master...upstream/master像往常一样检查共同的祖先(例如,)。

于 2015-08-17T19:01:55.017 回答