如何将本地分叉存储库与可能对原始存储库进行的更改进行比较?

时间:2014-08-07 21:39:37

标签: git github git-diff git-fork

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

我使用此命令将原始存储库添加到我的遥控器列表中:

git remote add upstream <original repo URL>

Github's own page on the topic of forking a branch概述了这一点。

但是,当我运行git diff upstreamgit diff upstream/master as advised heregit diff master upstream/master as advised here时,我明白这一点:

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不会返回错误(或任何相关内容)。我错过了什么吗?

1 个答案:

答案 0 :(得分:14)

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

git fetch upstream

这不会影响您回购的工作分支,但它会添加另外一堆&#34; remote&#34;分支,您可以使用git branch -a查看。

一旦你有了这些,请使用:

git diff master upstream/master

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