2014-12-03 80 views
2

这里是上下文:具有较早的git的更换工作目录提交

  • 我使用的Eclipse中例如:It

  • 我提出了一些提交的,我没有推到远程仓库

  • 我突然发现我的应用程序中的错误,这是不是有

如何使用早期的git提交快速更新我的工作目录,直到找到引入该错误的第一个提交为止?那么我如何回到我最新的本地提交?

我最近使用了git git reset来完成这项工作,如果我没有找到this answer,就会失去我最后一套git commit,因此必须有另一种更安全的方法来达到同样的效果。

+0

听起来你想[从以前的提交创建一个新的分支](http://stackoverflow.com/questions/2816715/branch-from-a-previous-commit-using-git)。完成实验后,您可以切换回原始分支并根据需要合并更改。 – Ben 2014-12-03 06:20:12

+2

这会工作,但我意识到我错过了一个重要的澄清在我的问题:我遇到了我的最新版本的代码中的错误,并希望回到过去,直到错误不再出现。如果我必须为每个我想检查的旧版本创建一个分支,那很快会变得很麻烦。没有另外一种方法可以在不创建任何分支的情况下实现相同的结果? – Lolo 2014-12-03 06:25:41

+1

看看[git bisect](http://git-scm.com/docs/git-bisect),它应该可以帮助你找到引入bug的提交。 – 2014-12-03 06:27:37

回答

1

我刚想出了我自己问题的答案。

这其实很简单:

  1. 做早期版本的git的结帐,直到确定没有表现出错误和不

  2. 然后做一个git切换到第一个的最后一个版本主版本要返回到最新的承诺版本

结帐不用于对代码做进一步的更改,但是快速和有用的更新工作目录,而不会混淆git目录,这是快速查明git树中新bug的外观所需要的。

1

我遇到了我最新版本的代码中的一个错误,并且想要回到过去,直到错误不再出现。

这就是所谓的git bisect,并且是not implemented in Egit

你应该考虑在命令行中使用git,以便launch a bisect session

+0

感谢:在搜索大量的提交版本时,它看起来像是一个有用的小工具。 – Lolo 2014-12-03 14:08:49

相关问题