Reputation: 10026
I'm doing some private (lonely) development of a website on a git repo with a master and a development branch. I've done quite some work on the dev branch focusing on some "big" features and issues, and to be honest the commits on the dev branch have not been a showcase for atomic commits. That is finished (in a few large diffs) but now some major feature stopped working. The reasons why it has stopped working may be numerous, the diff between master and branch consists of numerous changes in some files.
Now I would like to merge the development branch piece by piece into the master (or a branch from master), and check what did break my major feature.
Is there an easy way of conceiving this with GIT? I'm also open to other alternatives. My preferred IDE is emacs but again I'm open for affordable alternatives.
regards, Jeroen.
Upvotes: 2
Views: 261
Reputation: 31
You can use git-rebase -i to interactively split your oversized commits. The man page explains this exact situation.
Upvotes: 2
Reputation: 7095
git-bisect is designed to solve this exact problem.
You start by marking the current revision as bad, then marking a revision that you know works (e.g., the point where your branch diverged) as good, and then it helps you do a binary search to find where precisely the problem was introduced.
Upvotes: 3