2012-01-14 69 views
0

我必须回到旧版本,其中最新版本不起作用。到目前为止,我尝试了以下但令人困惑,因为我看到所有的代码仍然是最新的:如何为一个存储库执行git bisect并转到最新版本导致问题的旧版本?

git bisect start 
git bisect bad 
git biesct good <VERSION OR PACKAGENAME.VERSION.OF.OLD.NUMBER.WHICH.I.THINK.WAS.GOOD> 

# NOW CONFUSING.. WHAT I HAVE TO TELL TO JUST USE THAT OLD VERSION? ONLY THE CHECKOUT COMMIT ID? 
git checkout <old version commit id>? 

你究竟做了什么?

追问:

广告$嘿,我们得到了在主0虫子最新版本了。 (他 谎称有错误的100S,他只是需要我们进行测试)

第1步:好奇@仪

tester$ cd /var/tmp 
tester$ git clone git://site.com/pizzapasta.git 
tester$ ./autogen.sh; make;make install; run; 
tester$ # failed 40 bugs found, impossible to use it 

第2步:回到老

tester$ cd /var/tmp/pizzapasta 
tester$ git bisect start   # initialize 
tester$ git bisect bad   # i marked my master/latest is BAD, i dont like/trust it 
            # Now i am going to old version 
tester$ git bisect good <COMMIT-U-THINK_GOOD> 
tester$ git checkout <COMMIT-ID-THAT-WAS-SHOWN-BY-GOOD> 
tester$ ./autogen.sh; make; make install; run; 

正在运行.....所以旧的是黄金和它的工作

回答

1

首先,请确保git status的输出为空 - 如果您的工作是联合国承诺,这可能会解释为什么你再次看到相同的代码。

要经过你引述的命令,前两个是罚款:

git bisect start 
git bisect good 

...这只是说,开始两分,而目前的版本是坏。然后,一旦你这样做:

git bisect bad <COMMIT-YOU-THINK-IS-GOOD>` 

... git会自动移至您的承诺就是你已标记为好的和坏的提交之间大约一半。 (代码的很大一部分可能确实是一样的,当你在这个历史新点。)

(请注意,在这一点上做的git bisect bad <COMMIT-YOU-THINK-IS-GOOD>相当于做git checkout <COMMIT-YOU-THINK-IS-GOOD>git bisect bad

所有你需要做的是测试代码。如果问题仍然存在,只是做:

git bisect bad 

...或者如果版本的git已经选择似乎也不错,只是做:

git bisect good 

在那些情形,Git会当您输入这些命令时,会再次自动将您移动到新版本以立即测试。 (如果它将你移动到一个不能编译的版本或类似的东西,你可以告诉git选择另一个,而不用通过做git bisect skip来标记当前版本的好坏)。

基本上,你继续测试新版本让git移动到,直到它输出一条消息f414f31 is the first bad commit(或类似的东西)。

最后,结束了两分和移动自己回支/提交你在你开始之前,只是做:

git bisect reset 

(你也可以用它来中止平分在任何点上面如果出了什么问题,或者你会感到困惑。)

+0

git bisect start; git bisect不好; git bisect good ?我现在的主人是坏的,我想把它作为第一,然后去GOOD并测试那个。我对吗。 – YumYumYum 2012-01-14 11:19:15

+0

正如我在我的回答中解释的,是的,这些都是成功使用'git bisect'的明智的第一步 - 重点是在完成这些步骤之后,您必须继续测试git然后选择(并自动移动到)的版本,直到它可以找到第一个错误的提交。 – 2012-01-14 11:33:29

+0

谢谢,我刚刚编辑了我的后续其非常优秀的版本控制器。 :) – YumYumYum 2012-01-14 11:40:46

相关问题