[英]Find the last local git commit that is also present in/was pushed to upstream
[英]Git find out the last commit i pushed
我想找出我推送的最后一件事,不是我提交的最后一件事,而是推送的。
是否有为此的 git 命令?
上下文:我想在将我的 dev_branch 与 master 分支合并之前压缩一些提交,但我被告知你不能重新设置已经推送的任何内容(这是真的吗?)。
所以我想知道我不能包含在这个 rebase 中的最后一次提交是什么。
如果你的意思是你推到master
分支的最后一次提交,那么假设你的遥控器是origin
:
git rev-parse origin/master
这将显示origin
源的master
分支的提示的提交ID, 因为您的本地存储库当前知道。 这可能意味着提交是其他人的提交,如果其他人在您执行后推送提交,并且您已经fetch
该分支。
git show -p origin/master
此命令将为您提供有关提交的信息,包括提交ID,作者,日志消息和对其父提交的差异。
我最喜欢的Git命令之一就是进行这种检查:
git log --pretty=oneline --abbrev-commit --graph --decorate --all
这将显示提交历史记录的一个很好的ASCII艺术图表,每个提交将显示任何针对它的引用。 通过这种方式,您可以一目了然地查看历史记录中的分支和合并,并轻松查看origin/master
与您自己的master
。
找到可以压制的提交的正确命令是:
git rev-parse @{push}
如果您的存储库没有提交,或者您的存储库没有远程推送到,该命令将出错。
如果结果等于git rev-parse HEAD
(如果您的存储库没有提交,它也会失败),那么您没有什么可压缩的。
您可以通过git log @{push}..HEAD
获取可压缩(尚未推送)提交的列表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.