如何检查提交是否已合并到我当前的分支 - 某个时间?

How to check if a commit has been merged to my current branch - somewhere in time?

我有一个随机的 feature/XXXXXXX 分支,它有一些提交,当然 "develop" 分支最终合并了这些功能。

我如何检查某个旧提交(例如来自分支 feature/user-registration 的提交 ab123456)是否以某种方式 brought/merged 到我当前活动的分支(例如开发)?要么直接合并功能分支进行开发,要么 up/merged 通过其他中间分支。

通过git命令或通过SourceTreeUI,这两种方式都同样适合我。

使用以下命令:

git branch --contains <commit-id>

这将输出包含提交的每个分支。所以如果你当前的分支有它,它应该出现在输出中。

git log --oneline devBranch..featureBranch

您看到所有提交都出现在 featureBranch 而不是 devBranch

解决方案

您可以直接询问 git 哪些(本地)分支包含您的提交,如下所示:

git branch --contains ab123456

使用“-r”选项查询远程分支,像这样:

git branch -r --contains ab123456

参考资料

正如 Andrew C. 评论的那样,这实际上是 How to list branches that contain a given commit? 的副本,由 VonC 正确而详尽地回答。

备注

我现在看到雪莉在这个帖子里也给出了同样的答案