假设我对代码进行了多次更改,发现代码结果意外损坏。我想找出哪个更改破坏了结果。
如果它包含在某个提交中,那么很清楚如何找到错误的更改。
但是,如果它不是在单独的提交中,而是在历史重写期间进行的,如何找到错误的更改?
所以几天前我有 git 历史,比如:
commit00 ( contains no result.txt )
commit01 ( contains no result.txt )
...
commit10 ( contains version1 of result.txt )
commit11 ( contains version1 of result.txt )
...
commit20 ( contains version2 of result.txt )
results.txt 的所有版本都很好。然后我做了几次历史重写,比如:
<make changes>
git commit -m "changes to attach to commit0x"
git rebase -i commit0x
<use squash to attach changes to commit0x>
我不记得我以这种方式进行了哪些更改。但是现在我看到,当我去 commit10 或 commit20 时,我的程序给出了不同的结果(不是 version1 和 version2 结果)。