我有一个git repo,它有多个未合并的分支,需要了解在哪里。他们中的一些人已经仔细挑选了提交,所以如果我使用日志消息的顶行列出提交列表,其中两个会在不同的分支中显示相同的文本。
我已经使用git show分支向我显示了所有的提交以及它们在哪些分支中,我可以看到其中一些分支共享相同的文本。。。但我必须首先选择一个提交消息,然后搜索(或grep(该文本,看看它是否出现在另一个分支中。
有没有一种方法可以自动化跨分支的常见提交的交叉引用?这样我就可以得到提交"的所有分支的列表;这修复了配置问题";在吗?更好的办法是列出精心挑选的提交以及它们的来源,但我对此并不抱希望。只要一个列表显示commit X出现在分支a、B和C中,就会有很大的帮助。
git log
有一组检测樱桃采摘的选项:请参阅--cherry-mark
及以下内容。
示例用法:
git log --cherry master...my/branch
git log --cherry-mark master...my/branch
# with more options:
git log --graph --oneline --cherry master...my/branch
git log --graph --oneline --boundaries --cherry-mark master...my/branch
这将根据内容对提交进行比较,因此即使对消息进行了编辑,也会检测到精心挑选的提交。但不会检测到导致冲突的樱桃选择(即使消息相同(。
它将使用与git rebase
相同的算法来确定提交已经是目标分支的一部分,不应该重播。