我想比较我已经与原始/上游存储库分叉的存储库的本地克隆,以查看是否已经进行了进一步的提交,要求我进行拉/合并。我想从命令行执行此操作。
我使用此命令将原始存储库添加到我的遥控器列表中:
git remote add upstream <original repo URL>
Github's own page on the topic of forking a branch概述了这一点。
但是,当我运行git diff upstream
或git diff upstream/master
as advised here或git 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
不会返回错误(或任何相关内容)。我错过了什么吗?
答案 0 :(得分:14)
在一个人可以在自己的本地仓库和上游之间运行git diff
之前,必须首先获取上游仓库。然后在本地进行比较。
git fetch upstream
这不会影响您回购的工作分支,但它会添加另外一堆&#34; remote&#34;分支,您可以使用git branch -a
查看。
一旦你有了这些,请使用:
git diff master upstream/master
这将比较您拥有的本地存储库与对原始存储库所做的任何更新。此命令的变体将处理您可能对您自己的分支所做的更新,或照常检查共同的祖先(例如,git diff master...upstream/master
)。