我有一段非常深厚的历史
0000001
0000002
0000003
0000004
...我使用git-bisect查找返回0000003的旧问题的散列。结果表明,解决方案可能位于此散列0000002之后的提交中,甚至可能是最近提交的。
我可以用
git log 0000003,它将在提交之前显示项目的历史,但在提交之后则不会显示任何内容。
0000003
0000004
...我希望仅使用散列查找/在0000003之后找到提交--也就是说,我希望在不手动滚动所有历史记录的情况下找到0000002。
这是怎么做的?
发布于 2016-01-10 10:13:04
您可以尝试查找接下来的几个提交(在00003之后创建的提交)。
git log --reverse --pretty=format:%H --ancestry-path 3...master | head -33是提交00003的SHA1。
您还有"我如何在git中找到下一个提交?“中描述的其他技术。
例如:
git rev-list HEAD..3 | tail -3这假设那些下一个提交可以从主或头访问。
如果您不考虑特定的“目的地”提交,而是希望看到可能出现在任何分支上的子提交,则可以使用以下命令:
git rev-list --children --all | grep ^${COMMIT}发布于 2016-01-10 10:03:54
git bisect是一个很好的选择,就像您已经使用它一样。
你可以用头~X
# set X to be the number of commits you want to start with
git log HEAD~X
# Range: between HEAD to the previous X commits
git log HEAD...HEAD~X阅读这里关于提交范围的内容。
https://stackoverflow.com/questions/34704119
复制相似问题