繁体   English   中英

在Git存储库中测试旧提交

[英]Test old commit in Git Repository

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

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

我正在使用gitkraken作为gui。

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

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

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

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

 git bisect good

如果测试通过

 git bisect bad

如果测试失败。

然后,如果测试失败,则git选择另一个提交给先前的提交,如果测试通过,则选择另一个提交给“坏”提交。

既然你正在寻找的问题时appeard 存款保险计划 ,您可能需要切换“好”与“坏”继续当的意思......

当您确定了malicios提交调用时

git bisect reset

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM