半恢复掌握和检查更改

问题描述 投票:2回答:1

有没有好的方法可以轻松地检查我的当前项目从主分支有何不同?我想以某种方式拉主,并再次“解决冲突”,仔细检查我所做的更改。

我正在一个侧项目关主 - 我的项目永远不会被合并,以掌握,但高手指点在它自己的发展。我现在有一个尴尬的错误,我想经过我做了,看看它是所有变化。我不知道,如果这件事情我已经做了或某种核心变化对船长提出的。我不想取消所有的我的变化了,所以我希望能有办法找到这个类似于上面我如何描述。

编辑:我也许应该注意的东西,我已经做了99%,是不会合并冲突单独的文件 - 所以它不是像刚才通过我所做的版本变化会那么简单。我需要找到的代码,1%是关系我的代码到主项目本身。

git atlassian-sourcetree
1个回答
1
投票

我建议在这里使用bisect命令,以方便使用。

可以肯定,你可以结帐,一个接一个,你的提交,从HEAD倒退,直到找到突破点,但bisect,旨在缓解这个非常的过程。数以百计的提交可以相当迅速分解成几个步骤,这样。

基本上,它使用二分法搜索的原则,检查出一个犯之间两个时间点(在你的情况下,从现在到哪里你分支主点),让你运行任何你需要的测试,然后等待为您可以选择要么认为提交的“坏”(如果你的错误是出现在这一点上,时间轴),或“好”(如果bug还没有显示)。然后重复这个过程,反复,直到你所在的承诺这带来了麻烦。

# to start the search
git bisect start

# to tag the present commit as "good"
git bisect good
# to tag the present commit as "bad"
git bisect bad

# to exit bisect mode and return to just before "bisect start"
git bisect reset 

(这里使用一个通常意义上的标签,没有真正的Git标签参与,当然,无论是轻量级也不注解)

看看在docbisect的一些其他子命令都得心应手,就像bisect log),深呼吸,抓住你的头灯,并且去了。

© www.soinside.com 2019 - 2024. All rights reserved.