在 Git 存储库中测试旧提交
Test old commit in Git Repository
我目前有一个项目(JavaScript),其中有一个错误,我确定我之前修复了它,现在我的问题是如何恢复到旧提交并检查我的版本本地主机。
但我不想丢失我的 git 存储库中的任何更改我只想检查项目如何看待提交 X,我该如何管理它。
我正在使用 gitkraken 作为 gui。
- 确保没有未提交的更改;如有必要,提交或隐藏它们
- 在您当前的 HEAD 处创建一个新分支(使用
Branch
按钮)
- 搜索要查看的提交
- 右键单击提交,选择
Reset <branchname> to this commit
> Hard - discard all changes
。这会将您刚刚创建的分支重置为此提交。
- 你回到了过去。测试并检查您需要的一切。如果你想回到现在,就看看你原来的分支。
编辑:
还有更简单的方法!
- 确保没有未提交的更改;如有必要,提交或隐藏它们
- 搜索要查看的提交
- 右键单击提交,选择
Create branch here
。输入分支名称。这将在这次提交时创建一个分支。
- 双击查看新建的分支。
- 你回到了过去。测试并检查您需要的一切。如果你想回到现在,就看看你原来的分支。
如果您不确定错误是什么时候 introduced/fiex 您可以使用 git 的 bisect 方法:https://git-scm.com/docs/git-bisect
git bisect start
git bisect bad COMMIT_KNOWN_TO_FAIL
git bisect good COMMIT_KNOWN_TO_PASS
然后 git 将 select 在中间提交。您可以进行检查,并根据您的测试结果致电:
git bisect good
如果测试通过并且
git bisect bad
如果测试失败。
然后 git select 如果测试失败,则对前 好 进行另一次提交,如果测试通过,则对 **差* 进行提交。
由于您正在寻找问题 dis 出现的时间,您可能需要在继续时切换 "good" 和 "bad" 的含义...
当您识别出恶意提交调用时
git bisect reset
我目前有一个项目(JavaScript),其中有一个错误,我确定我之前修复了它,现在我的问题是如何恢复到旧提交并检查我的版本本地主机。
但我不想丢失我的 git 存储库中的任何更改我只想检查项目如何看待提交 X,我该如何管理它。
我正在使用 gitkraken 作为 gui。
- 确保没有未提交的更改;如有必要,提交或隐藏它们
- 在您当前的 HEAD 处创建一个新分支(使用
Branch
按钮) - 搜索要查看的提交
- 右键单击提交,选择
Reset <branchname> to this commit
>Hard - discard all changes
。这会将您刚刚创建的分支重置为此提交。 - 你回到了过去。测试并检查您需要的一切。如果你想回到现在,就看看你原来的分支。
编辑: 还有更简单的方法!
- 确保没有未提交的更改;如有必要,提交或隐藏它们
- 搜索要查看的提交
- 右键单击提交,选择
Create branch here
。输入分支名称。这将在这次提交时创建一个分支。 - 双击查看新建的分支。
- 你回到了过去。测试并检查您需要的一切。如果你想回到现在,就看看你原来的分支。
如果您不确定错误是什么时候 introduced/fiex 您可以使用 git 的 bisect 方法:https://git-scm.com/docs/git-bisect
git bisect start
git bisect bad COMMIT_KNOWN_TO_FAIL
git bisect good COMMIT_KNOWN_TO_PASS
然后 git 将 select 在中间提交。您可以进行检查,并根据您的测试结果致电:
git bisect good
如果测试通过并且
git bisect bad
如果测试失败。
然后 git select 如果测试失败,则对前 好 进行另一次提交,如果测试通过,则对 **差* 进行提交。
由于您正在寻找问题 dis 出现的时间,您可能需要在继续时切换 "good" 和 "bad" 的含义...
当您识别出恶意提交调用时
git bisect reset