在Git存储库中测试旧提交

时间:2018-11-14 12:24:47

标签: git git-revert gitkraken

我目前有一个带有错误的Project(JavaScript),并且可以肯定我已经将它修复了,现在我的问题是如何还原到旧的提交并在本地主机上检查版本。

但是我不想放弃我的git repo中的任何更改,我只想检查一下Project如何看待提交X,如何管理它。

我正在使用gitkraken作为gui。

2 个答案:

答案 0 :(得分:2)

  • 确保您没有未提交的更改;提交或隐藏它们
  • 在当前的HEAD处创建一个新分支(使用Branch按钮)
  • 搜索您要查看的提交
  • 右键单击提交,选择Reset <branchname> to this commit> Hard - discard all changes。这会将您刚刚创建的分支重置为此提交。
  • 您时光倒流。测试并检查所需的一切。如果您想回到现在,只需签出原始分支即可。

编辑: 还有一个更简单的方法!

  • 确保您没有未提交的更改;提交或隐藏它们
  • 搜索您要查看的提交
  • 右键单击提交,选择Create branch here。输入分支名称。这将在此提交时创建一个分支。
  • 通过双击签出新创建的分支。
  • 您时光倒流。测试并检查所需的一切。如果您想回到现在,只需签出原始分支即可。

答案 1 :(得分:0)

如果不确定何时引入错误/错误,可以使用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将在中间选择一个提交。您可以进行检查,并根据测试结果致电:

 git bisect good

如果测试通过

 git bisect bad

如果测试失败。

然后,如果测试失败,则git选择另一个提交给先前的 good 提交,如果测试通过,则向** bad *提交另一个提交。

由于您正在寻找问题 dis 出现的时间,因此您可能必须在继续操作时切换“好”和“坏”的含义。

当您确定了恶意提交请求

git bisect reset