如何查看新的 git 分支将推送哪些 git 提交?

Posted

技术标签:

【中文标题】如何查看新的 git 分支将推送哪些 git 提交?【英文标题】:How can I see what git commits will be pushed for a NEW git branch? 【发布时间】:2016-10-24 11:17:25 【问题描述】:

与How can I see what I am about to push with git? 类似的问题 - 我想查看将被推送的提交的描述(提交消息),但对于新的本地分支。通常git cherry -vAlex Nolasko 的回答)显示了我想要的,但是对于远程中尚不存在的分支,这将失败。

更准确地说,我想查看尚未在远程中的所有提交。例如,如果我从分支“master”开始,提交 1,然后从 master 创建分支“feature_a”并提交 2,然后(仍然没有推送)从 feature_a 创建分支“feature_b”并提交 3 我想要查看列出的提交 1、2 和 3。

【问题讨论】:

【参考方案1】:

您可以尝试(对于尚未推送的新分支):

git log origin/$(git merge-base master mybranch)..feature_b

OP EM0 用于当前分支的HEAD

git log $(git merge-base origin/master HEAD)..HEAD

这将列出可从feature_b 访问的所有提交,但不会列出从feature_b 开始的位置(来自master,如git merge-base 所示) 这将包括提交 2 和 3(假设来自 master 的提交 1 被推送,否则远程仓库将完全为空)

【讨论】:

谢谢,我使用稍微修改过的版本让它工作:我将“origin/”移动到合并基础命令中并使用 HEAD 而不是硬编码分支,即git log $(git merge-base origin/master HEAD)..HEAD跨度> @EM0 谢谢。我已将您的版本包含在答案中以提高知名度。

以上是关于如何查看新的 git 分支将推送哪些 git 提交?的主要内容,如果未能解决你的问题,请参考以下文章

git 强制推送到master

git 创建分支并推送到远程

在没有分支的情况下推送git commit

如何将多个 Git 提交(已推送)还原到已发布的存储库?

git开发流程以及常用命令

git怎么将本地仓库推送到一个新的远程分支包含所有历史提交信息