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

guy*_*sey 12 git github git-diff git-fork

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

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

git remote add upstream <original repo URL>
Run Code Online (Sandbox Code Playgroud)

这在Github自己的关于分支分支主题的页面中有所概述.

然而,当我运行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>...]'
Run Code Online (Sandbox Code Playgroud)

该命令git diff origin/master不会返回错误(或任何事情).我错过了什么吗?

guy*_*sey 15

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

git fetch upstream
Run Code Online (Sandbox Code Playgroud)

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

一旦你有了这些,使用:

git diff master upstream/master
Run Code Online (Sandbox Code Playgroud)

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