如何查找何时将提交合并到分支



Git blame 显示了对文件所做的更改。我想知道该更改何时合并到我们的实时分支。

我可能可以用图形客户端来追踪它,但是还有很多其他的提交正在进行中。提交不在对实时分支的前几次合并中。

git show <commit_hash>将为您提供有关提交的详细信息。

这样做

git rev-list <commit_hash>..<branch> --first-parent

git rev-list <commit_hash>..<branch> --ancestry-path

共同的最后一行是您要查找的提交哈希。

您可以将它们都存储在一个单独的文件中,然后执行sdiff以快速识别它。

如果我理解正确,你想要的应该是这个:

git log --merges <interesting_hash>..<live_branch>

这至少在一次性合并情况下似乎有效。不确定它在持续集成场景中将如何工作,其中可能发生了来自两个分支之间的多个合并(尽管在这种情况下,至少它缩小了您需要查看的位置集)......

假设你的 git 流程是这样的:你将测试的代码推送到master(或production)分支中,一旦你准备好了,你只需在生产环境中拉取master分支。在这种情况下,如果你想知道你"什么时候"做了pullmerge(是昨天吗?上周?),你可以按如下方式使用reflog

命令: git reflog show --date=default

输出:

5c4f140 HEAD@{Mon Aug 10 05:36:24 2015 +0000}: pull origin: Fast-forward 1ba6e4e HEAD@{Wed Aug 5 14:40:50 2015 +0000}: pull origin: Fast-forward 05382e4 HEAD@{Wed Jul 22 12:27:20 2015 +0000}: pull origin: Fast-forward bad194c HEAD@{Wed Jul 22 09:54:01 2015 +0000}: pull origin: Fast-forward 016f6cb HEAD@{Sat Jul 18 04:53:56 2015 +0000}: pull origin: Fast-forward b4839d3 HEAD@{Mon Jul 6 07:35:23 2015 +0000}: pull origin: Fast-forward

最新更新