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


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

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

git remote add upstream <original repo URL>

这在概述中 Github关于分支分支主题的页面

但是,当我跑 git diff upstream  要么 git 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 不会返回错误(或任何事情)。我错过了什么吗?


7635
2017-08-07 21:39


起源



答案:


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

git fetch upstream

这不会影响您的仓库的工作分支,但它确实添加了另外一堆“远程”分支,您可以看到 git branch -a

一旦你有了这些,使用:

git diff master upstream/master

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


14
2017-08-17 19:01