在我们过去的某个时刻,git 的开发分支被合并了。然而,做出了错误的合并决定,因此一些代码没有进入我们预期的主分支。 (在最终合并到主分支之前,不同分支进行了多次合并。因此分支和合并历史相当复杂。)
有没有一种简单的方法来搜索 git 存储库以确定在哪个合并上做出了“错误”的决定?
(我已经知道这个特殊情况的答案,但找到它的过程有点乏味。)
编辑: gitblame 被证明不充分的原因是在合并错误后的某个时间提交中触及了该行。
没有更多细节我只能暗示possible解决方案。如果您知道受影响的文件或行,您可以尝试git 责备 http://git.or.cz/man/git-blame (git blame *file*
, or git blame *revision* *file*
),或者你可以尝试所谓的'pickaxe搜索'与git-log http://git.or.cz/man/git-log, i.e. git log -S'*line*
试图找到引入给定行或删除给定行的修订。您可以查找并检查所有合并,例如通过git log -p -m --grep=Merge
,并检查他们与父母的关系(-m
向所有家长展示差异;或者-c
显示组合差异,但不显示微小的合并更改,即如果采用一侧)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)