首页 > 解决方案 > 如何“复兴” git blame 历史

问题描述

我发现自己处于危险的境地。

我致力于重构一个庞大的现有代码库。我决定注释掉一些测试,并在我修改代码时逐渐启用它们。不幸的是,我提交了注释,现在完整测试模块的 git blame 历史显示我是最后一次更改的作者。我对这段代码的唯一贡献是两次提交(注释和取消注释) - 不幸的是,第一个提交伴随着我想保留的其他地方的更改。

我对 git 的了解不足,不知道是否有一种相对简单的方法可以更正 git 历史记录以显示代码先前状态的作者(在我注释掉之前)。

从头开始是我唯一的选择吗?

标签: gitversion-controlgit-blame

解决方案


现代git blame用论据来告诉它:不要责怪这个修订请参阅--ignore-rev--ignore-revs-file选项。您最简单的方法是在某个文件中列出您自己的提交并使用--ignore-revs-file.

如果您git blame太旧,请考虑升级 Git;如果这不可能,请注意git blame从任何指定的修订开始(然后向后工作),因此您可以在更改之前简单地选择一些修订。


推荐阅读