标题说明了一切。到目前为止,我遇到了一个基本上显示提交和父提交的解决方案,但它需要进一步过滤。有更好的方法吗?
git rev-list --all --min-parents=1 | while read child; do parent=$(git rev-parse ${child}^); echo "$child $parent"; done
这个问题似乎有点不明确。
所提供的解决方案只检查每个提交的第一个父级,但任何提交都可以有多个父级。对于那些有多个父母的提交,是否要考虑多个父母?我们想找到任何这样的提交,还是所有那样的提交?
git rev-list
命令可以很容易地生成每个子项的父散列ID列表:只需将--parents
添加到选项中即可。然后,后处理过滤器可以使用简单的关联数组查找。
总的来说,这个问题类似于有向图的弧反转:;"转置""反向";,或";反向";有向图的。请参阅维基百科。