{"id":14618,"date":"2011-03-18T21:11:27","date_gmt":"2011-03-18T19:11:27","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=14618"},"modified":"2011-03-18T21:24:39","modified_gmt":"2011-03-18T19:24:39","slug":"debugging-with-git-bisect","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2011\/03\/18\/debugging-with-git-bisect\/","title":{"rendered":"Debugging with git bisect"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p>Via <a href=\"http:\/\/sebastian-bergmann.de\/archives\/911-Debugging-with-Git-and-PHPUnit.html\">Sebastian Bergmann&#8217;s blog<\/a> I&#8217;ve learned about <a href=\"http:\/\/www.kernel.org\/pub\/software\/scm\/git\/docs\/git-bisect.html\">git bisect<\/a> and how it can used for debugging. \u00a0Sebastian demonstrates the functionality together with PHPUnit. \u00a0I am a git newbie, so that was quite interesting for me.<\/p>\n<blockquote><p>git bisect can be used to find the change that introduced a bug. It does so by performing a binary search on the list of commits between a known <em>good<\/em> and a known <em>bad<\/em> state of the repository. A tool such as PHPUnit can be invoked at each step of the binary search to check whether or not the current state is broken.<\/p><\/blockquote>\n<p>Here is a shortcut on how to actually use it:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n$ git bisect start\r\n$ git bisect good someVersion\r\n$ git bisect bad someOtherVersion\r\n$ git bisect run someCommand -with SomeArgument\r\n<\/pre>\n<p>There are, of course, more resources online covering the feature. \u00a0I found <a href=\"http:\/\/book.git-scm.com\/5_finding_issues_-_git_bisect.html\">this section<\/a> of the <a href=\"http:\/\/book.git-scm.com\/index.html\">Git Community Book<\/a> helpful. \u00a0Hopefully, I&#8217;ll remember about it when I actually need it.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>Via Sebastian Bergmann&#8217;s blog I&#8217;ve learned about git bisect and how it can used for debugging. \u00a0Sebastian demonstrates the functionality together with PHPUnit. \u00a0I am a git newbie, so that was quite interesting for me. git bisect can be used to find the change that introduced a bug. It does so by performing a binary &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2011\/03\/18\/debugging-with-git-bisect\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Debugging with git bisect<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false,"_links_to":"","_links_to_target":""},"categories":[1,18,62],"tags":[2265,38,1108,989,1588],"keyring_services":[],"class_list":["post-14618","post","type-post","status-publish","format-standard","hentry","category-general","category-programming","category-technology","tag-git","tag-php","tag-testing","tag-troubleshooting","tag-version-control"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"Via Sebastian Bergmann&#039;s blog I&#039;ve learned about git bisect and how it can used for debugging. Sebastian demonstrates the functionality together with PHPUnit. I am a git newbie, so that was quite interesting for me. git bisect can be used to find the change that introduced a bug. It does so by performing a binary\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Leonid Mamchenkov\"\/>\n\t<meta name=\"google-site-verification\" content=\"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/mamchenkov.net\/wordpress\/2011\/03\/18\/debugging-with-git-bisect\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Leonid Mamchenkov - Life, universe, and everything else\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Debugging with git bisect - Leonid Mamchenkov\" \/>\n\t\t<meta property=\"og:description\" content=\"Via Sebastian Bergmann&#039;s blog I&#039;ve learned about git bisect and how it can used for debugging. Sebastian demonstrates the functionality together with PHPUnit. I am a git newbie, so that was quite interesting for me. git bisect can be used to find the change that introduced a bug. It does so by performing a binary\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/mamchenkov.net\/wordpress\/2011\/03\/18\/debugging-with-git-bisect\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2011-03-18T19:11:27+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2011-03-18T19:24:39+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/MamchenkovBlog\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Debugging with git bisect - Leonid Mamchenkov\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Via Sebastian Bergmann&#039;s blog I&#039;ve learned about git bisect and how it can used for debugging. Sebastian demonstrates the functionality together with PHPUnit. I am a git newbie, so that was quite interesting for me. git bisect can be used to find the change that introduced a bug. It does so by performing a binary\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2011\\\/03\\\/18\\\/debugging-with-git-bisect\\\/#blogposting\",\"name\":\"Debugging with git bisect - Leonid Mamchenkov\",\"headline\":\"Debugging with git bisect\",\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2011\\\/03\\\/18\\\/debugging-with-git-bisect\\\/#articleImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"},\"datePublished\":\"2011-03-18T21:11:27+02:00\",\"dateModified\":\"2011-03-18T21:24:39+02:00\",\"inLanguage\":\"en-US\",\"commentCount\":2,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2011\\\/03\\\/18\\\/debugging-with-git-bisect\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2011\\\/03\\\/18\\\/debugging-with-git-bisect\\\/#webpage\"},\"articleSection\":\"All, Programming, Technology, git, PHP, testing, troubleshooting, version control\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2011\\\/03\\\/18\\\/debugging-with-git-bisect\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"position\":2,\"name\":\"Technology\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"name\":\"Programming\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"position\":3,\"name\":\"Programming\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2011\\\/03\\\/18\\\/debugging-with-git-bisect\\\/#listItem\",\"name\":\"Debugging with git bisect\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2011\\\/03\\\/18\\\/debugging-with-git-bisect\\\/#listItem\",\"position\":4,\"name\":\"Debugging with git bisect\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"name\":\"Programming\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2011\\\/03\\\/18\\\/debugging-with-git-bisect\\\/#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2011\\\/03\\\/18\\\/debugging-with-git-bisect\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2011\\\/03\\\/18\\\/debugging-with-git-bisect\\\/#webpage\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2011\\\/03\\\/18\\\/debugging-with-git-bisect\\\/\",\"name\":\"Debugging with git bisect - Leonid Mamchenkov\",\"description\":\"Via Sebastian Bergmann's blog I've learned about git bisect and how it can used for debugging. Sebastian demonstrates the functionality together with PHPUnit. I am a git newbie, so that was quite interesting for me. git bisect can be used to find the change that introduced a bug. It does so by performing a binary\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2011\\\/03\\\/18\\\/debugging-with-git-bisect\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"datePublished\":\"2011-03-18T21:11:27+02:00\",\"dateModified\":\"2011-03-18T21:24:39+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/\",\"name\":\"Blog of Leonid Mamchenkov\",\"description\":\"Life, universe, and everything else\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Debugging with git bisect - Leonid Mamchenkov","description":"Via Sebastian Bergmann's blog I've learned about git bisect and how it can used for debugging. Sebastian demonstrates the functionality together with PHPUnit. I am a git newbie, so that was quite interesting for me. git bisect can be used to find the change that introduced a bug. It does so by performing a binary","canonical_url":"https:\/\/mamchenkov.net\/wordpress\/2011\/03\/18\/debugging-with-git-bisect\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/mamchenkov.net\/wordpress\/2011\/03\/18\/debugging-with-git-bisect\/#blogposting","name":"Debugging with git bisect - Leonid Mamchenkov","headline":"Debugging with git bisect","author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"},"image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2011\/03\/18\/debugging-with-git-bisect\/#articleImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"},"datePublished":"2011-03-18T21:11:27+02:00","dateModified":"2011-03-18T21:24:39+02:00","inLanguage":"en-US","commentCount":2,"mainEntityOfPage":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2011\/03\/18\/debugging-with-git-bisect\/#webpage"},"isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2011\/03\/18\/debugging-with-git-bisect\/#webpage"},"articleSection":"All, Programming, Technology, git, PHP, testing, troubleshooting, version control"},{"@type":"BreadcrumbList","@id":"https:\/\/mamchenkov.net\/wordpress\/2011\/03\/18\/debugging-with-git-bisect\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","position":1,"name":"Home","item":"https:\/\/mamchenkov.net\/wordpress","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","position":2,"name":"Technology","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","name":"Programming"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","position":3,"name":"Programming","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2011\/03\/18\/debugging-with-git-bisect\/#listItem","name":"Debugging with git bisect"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2011\/03\/18\/debugging-with-git-bisect\/#listItem","position":4,"name":"Debugging with git bisect","previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","name":"Programming"}}]},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/#person","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2011\/03\/18\/debugging-with-git-bisect\/#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author","url":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2011\/03\/18\/debugging-with-git-bisect\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"WebPage","@id":"https:\/\/mamchenkov.net\/wordpress\/2011\/03\/18\/debugging-with-git-bisect\/#webpage","url":"https:\/\/mamchenkov.net\/wordpress\/2011\/03\/18\/debugging-with-git-bisect\/","name":"Debugging with git bisect - Leonid Mamchenkov","description":"Via Sebastian Bergmann's blog I've learned about git bisect and how it can used for debugging. Sebastian demonstrates the functionality together with PHPUnit. I am a git newbie, so that was quite interesting for me. git bisect can be used to find the change that introduced a bug. It does so by performing a binary","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#website"},"breadcrumb":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2011\/03\/18\/debugging-with-git-bisect\/#breadcrumblist"},"author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"creator":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"datePublished":"2011-03-18T21:11:27+02:00","dateModified":"2011-03-18T21:24:39+02:00"},{"@type":"WebSite","@id":"https:\/\/mamchenkov.net\/wordpress\/#website","url":"https:\/\/mamchenkov.net\/wordpress\/","name":"Blog of Leonid Mamchenkov","description":"Life, universe, and everything else","inLanguage":"en-US","publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"}}]},"og:locale":"en_US","og:site_name":"Leonid Mamchenkov - Life, universe, and everything else","og:type":"article","og:title":"Debugging with git bisect - Leonid Mamchenkov","og:description":"Via Sebastian Bergmann's blog I've learned about git bisect and how it can used for debugging. Sebastian demonstrates the functionality together with PHPUnit. I am a git newbie, so that was quite interesting for me. git bisect can be used to find the change that introduced a bug. It does so by performing a binary","og:url":"https:\/\/mamchenkov.net\/wordpress\/2011\/03\/18\/debugging-with-git-bisect\/","og:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:secure_url":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:width":1024,"og:image:height":1024,"article:published_time":"2011-03-18T19:11:27+00:00","article:modified_time":"2011-03-18T19:24:39+00:00","article:publisher":"https:\/\/www.facebook.com\/MamchenkovBlog","twitter:card":"summary_large_image","twitter:site":"@mamchenkov","twitter:title":"Debugging with git bisect - Leonid Mamchenkov","twitter:description":"Via Sebastian Bergmann's blog I've learned about git bisect and how it can used for debugging. Sebastian demonstrates the functionality together with PHPUnit. I am a git newbie, so that was quite interesting for me. git bisect can be used to find the change that introduced a bug. It does so by performing a binary","twitter:creator":"@mamchenkov","twitter:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg"},"aioseo_meta_data":{"post_id":"14618","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2023-07-19 22:52:37","updated":"2026-01-15 06:32:45","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/\" title=\"Technology\">Technology<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/\" title=\"Programming\">Programming<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tDebugging with git bisect\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/mamchenkov.net\/wordpress"},{"label":"Technology","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/"},{"label":"Programming","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/"},{"label":"Debugging with git bisect","link":"https:\/\/mamchenkov.net\/wordpress\/2011\/03\/18\/debugging-with-git-bisect\/"}],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":16448,"url":"https:\/\/mamchenkov.net\/wordpress\/2012\/07\/11\/huge-huge-thanks-to-git-bisect-i-just-sorted-out\/","url_meta":{"origin":14618,"position":0},"title":"Huge, huge thanks to git bisect! With its help, I &#8230;","author":"Leonid Mamchenkov","date":"July 11, 2012","format":"status","excerpt":"Huge, huge thanks to git bisect! With its help, I just sorted out a huge argument about who removed a piece of code and when. \u00a0With an actively developed project among few developers and branches, it's not trivial to say when the change was introduced. \u00a0Unless, of course, you are\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":15270,"url":"https:\/\/mamchenkov.net\/wordpress\/2011\/07\/04\/day-in-brief-2011-07-04\/","url_meta":{"origin":14618,"position":1},"title":"Day in brief &#8211; 2011-07-04","author":"Leonid Mamchenkov","date":"July 4, 2011","format":false,"excerpt":"Shared: Are You Ready for WordPress 3.2? http:\/\/bit.ly\/mvLceT # Start your Monday morning with troubleshooting MSIE and it will set your mood for the whole week. # I just found a commit that broke things for me, using git bisect. Pretty cool. Git Book - Finding Issues - Git Bisect\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":21877,"url":"https:\/\/mamchenkov.net\/wordpress\/2014\/05\/29\/gitjk-undo-what-you-just-did-in-git\/","url_meta":{"origin":14618,"position":2},"title":"gitjk &#8211; undo what you just did in git","author":"Leonid Mamchenkov","date":"May 29, 2014","format":"link","excerpt":"gitjk - undo what you just did in git. Supports the following git commands: add, archive, branch, cat-file, checkout, clone, commit, diff, fetch, grep, init, log, ls-tree, merge, mv, pull, push, remote, revert, rm, show, stash,status. Support for the following git commands is not implemented: bisect, fsck, gc, prune, rebase,\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":27671,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/06\/08\/git-commit-good-practice\/","url_meta":{"origin":14618,"position":3},"title":"Git Commit Good Practice","author":"Leonid Mamchenkov","date":"June 8, 2017","format":false,"excerpt":"Open Stack wiki has an excellent guide on how to create good commits. \u00a0In a few places it is too specific to Open Stack development practices, but overall it's one of the best guides I've seen for any project using git. It is basically split into two sections. \u00a0One on\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/06\/git_commit.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":29204,"url":"https:\/\/mamchenkov.net\/wordpress\/2019\/01\/09\/grumphp-php-quality-control-tool\/","url_meta":{"origin":14618,"position":4},"title":"GrumPHP &#8211; PHP quality control tool","author":"Leonid Mamchenkov","date":"January 9, 2019","format":false,"excerpt":"GrumPHP is yet another quality control tool for PHP. But unlike a million other - PHPUnit, PHP CodeSniffer, and the like - this one is more of a tying knot. GrumPHP integrates via git hooks. It runs one more of the other tools, making sure that the changes you are\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/01\/grumphp-grumpy.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":24504,"url":"https:\/\/mamchenkov.net\/wordpress\/2015\/07\/23\/code-sleuthing-with-git\/","url_meta":{"origin":14618,"position":5},"title":"Code Sleuthing with Git","author":"Leonid Mamchenkov","date":"July 23, 2015","format":false,"excerpt":"Code Sleuthing with Git has a handy tip for searching through git logs: [code light=\"true\"] -S <string> Look for differences that change the number of occurrences of the specified string (i.e. addition\/deletion) in a file. [\/code]","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/14618","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=14618"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/14618\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=14618"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=14618"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=14618"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=14618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}