{"id":2363,"date":"2013-12-23T07:53:47","date_gmt":"2013-12-23T12:53:47","guid":{"rendered":"http:\/\/irreal.org\/blog\/?p=2363"},"modified":"2013-12-23T07:55:05","modified_gmt":"2013-12-23T12:55:05","slug":"git-bisect","status":"publish","type":"post","link":"https:\/\/irreal.org\/blog\/?p=2363","title":{"rendered":"Git Bisect"},"content":{"rendered":"<p> Over at <a href=\"http:\/\/randyfay.com\/\">randyfay.com<\/a>, Randy Fay has a great screencast on <a href=\"http:\/\/randyfay.com\/content\/debugging-git-bisect\">debugging with git bisect<\/a>. If you&#8217;re not familiar with git&#8217;s <code>bisect<\/code> command, the idea is to find the <code>git<\/code> commit that introduced an error. <\/p>\n<p> The process is basically a binary search. You have a commit with the error and find one without the error. Now you have the guilty commit bracketed and find it by dividing the commit space in half to find a new bracket end point, just as with a binary search. You could do that by hand, of course, but <code>git<\/code> partially automates the process with the <code>bisect<\/code> command. <\/p>\n<p> The process is harder to describe than it is to do. Watch Fay&#8217;s screencast to see the <code>bisect<\/code> command in action. Fay uses <code>git<\/code> from the command line instead of magit or some other interface so you don&#8217;t have to be an Emacs user to profit from the video. If you <i>are<\/i> an Emacs user, magit has an interface to the <code>bisect<\/code> command so you can have the best of both worlds. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Over at randyfay.com, Randy Fay has a great screencast on debugging with git bisect. If you&#8217;re not familiar with git&#8217;s bisect command, the idea is to find the git commit that introduced an error. The process is basically a binary &hellip; <a href=\"https:\/\/irreal.org\/blog\/?p=2363\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[18,23],"class_list":["post-2363","post","type-post","status-publish","format-standard","hentry","category-programming","tag-emacs","tag-git"],"_links":{"self":[{"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/2363","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2363"}],"version-history":[{"count":1,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/2363\/revisions"}],"predecessor-version":[{"id":2364,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/2363\/revisions\/2364"}],"wp:attachment":[{"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2363"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2363"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2363"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}