查看本地和远程 Git 存储库之间的确切差异/提交

问题描述 投票:0回答:4

设置: 3 个 git 存储库 - 在 github、本地和临时服务器上。

我在本地开发,将其推送到 github 并登台服务器拉取。

我既不工作也不在临时服务器上提交更改,但我一定很久以前就这样做了。因为现在当我执行

git status
(在登台服务器上)时,我会收到以下消息:

On branch SOME_BRANCH
Your branch and 'origin/SOME_BRANCH' have diverged,
and have 4 and 32 different commit(s) each, respectively.

我的问题是: 我如何查看那些不在 origin 的确切

4
提交?

git diff compare conflict status
4个回答
26
投票
git rev-list origin..HEAD

这列出了您的分支 (HEAD) 中非原始的提交。


9
投票

一般来说,如果您的遥控器名为 foo 并且您的分支是 bar:

git rev-list foo/bar..HEAD

@charlesb 是位于 master 分支且远程名为 origin 的答案。


1
投票

显示提交存在于源中但不存在于本地:

git rev-list HEAD..origin --pretty

显示提交存在于本地但不存在于源:

git rev-list origin..HEAD --pretty

0
投票

如果你想查看差异(我认为这是OP最终想要的),这是完整的命令

git rev-list origin..HEAD | xargs git show
© www.soinside.com 2019 - 2024. All rights reserved.