设置: 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 rev-list origin..HEAD
这列出了您的分支 (HEAD) 中非原始的提交。
一般来说,如果您的遥控器名为 foo 并且您的分支是 bar:
git rev-list foo/bar..HEAD
@charlesb 是位于 master 分支且远程名为 origin 的答案。
显示提交存在于源中但不存在于本地:
git rev-list HEAD..origin --pretty
显示提交存在于本地但不存在于源:
git rev-list origin..HEAD --pretty
如果你想查看差异(我认为这是OP最终想要的),这是完整的命令
git rev-list origin..HEAD | xargs git show