Find the first broken commit without having to learn git bisect
Latest commit 1de1068 Jul 7, 2015 @grosser v0.4.0
Failed to load latest commit information.
bin libify and add proper version bumping Oct 6, 2012
lib/git v0.4.0 Jul 7, 2015
spec fix build Jul 24, 2014
.travis.yml fix build Jul 24, 2014
Gemfile update lock Jul 24, 2014
Gemfile.lock v0.4.0 Jul 7, 2015
Rakefile add bump Nov 2, 2012 advertise standalone binary Dec 22, 2014
git-autobisect.gemspec update gemspec Dec 22, 2014

Find the first broken commit without having to learn git bisect.

  • automagically bundles if necessary
  • stops at first bad commit
  • takes binary steps (HEAD~1, HEAD~2, HEAD~4, HEAD~8)


gem install git-autobisect

or as standalone binary (needs any ruby)

curl > git-autobisect && chmod +x git-autobisect


cd your project
# run a test that has a non-0 exit status
git-autobisect 'rspec spec/models/user_spec.rb'
... grab a coffee ...
---> The first bad commit is a4328fa
git show


-m, --max N                    Inspect commits between HEAD..HEAD~<max>
-s, --start N                  Use N (instead of 1) as initial step and keep multiplying by 2
--step N                       Use N as step (instead of multiplying by 2
--no-bundle                    Do not bundle even if a Gemfile exists


  • do not fail if test file is missing [ ! -f spec/my_spec.rb ] || rspec spec/my_spec.rb


  • option for max-step-size so you can use a finer grained approach
  • option to disable bundle check || bundle injection
  • option to consider a build failed if it finishes faster then x seconds


  • bundle && bundle exec rake
  • Tests run a lot faster without bundle exec


Michael Grosser
License: MIT
Build Status