现在是否有办法保留我的所有更改,并仍然将我的应用撤回到某个提交并开始审核所有其他提交,以查看哪个提交在我的应用中出现问题?
我做了很多更改,我需要很长时间才能检查所有内容,所以我想获得之前的提交,当我发现问题时,我会恢复到最近的提交,然后只需应用必要的更改。
这里有这个答案:git revert back to certain commit但我仍然希望保留我最近的所有变化,有人可以引导我完成思考过程吗?
我想是否现在提交我最近的更改,它在bitbucket中,然后使用方法:git reset --hard {commit numbers}
并继续浏览我的提交列表,当我发现问题时,{ {1}}这会让我回到最近的状态吗?
答案 0 :(得分:4)
有一个命令可以执行您想要执行的操作,它被称为git bisect
,它使用二进制搜索来查找尚未运行的提交。这个过程是
git bisect start
git bisect bad
git bisect <your last good commit here>
这是一个相当容易阅读的guide。
这将允许您查找导致问题的提交。
答案 1 :(得分:2)
提交所有未经修改的更改,清理未跟踪文件树,然后就可以了
git checkout <some_commit_sha>
转到该特定提交,然后git checkout master
(或其他分支)返回。
当你处于'分离'状态时,不要提交任何东西,如果你必须 - 你可以在那里开始分支并像往常一样继续