Am 05.05.2017 um 19:43 schrieb Michael:
> I read as much as I could about the Mikado method, and it turned out that all 
> the basics of the method are available, either in their website, or their 
> sample chapters, etc.
> 
> Basically, you add two things to the normal cycle of improvement.
> 
> - Make a change.
> - See what breaks.
> - ** Add: Make a note of what you need to do next (using a graph for 
> visualization)
> - ** Add: Rollback your changes (so what you have still compiles)
> - Go to the next step.
> 
> Since you never leave your codebase in a non-compilable state, you never get 
> frozen.
> As you go through, you document more and more what's wrong, until you can fix 
> the stuff at the end that won't break other things in the process.
> Then, you rewind -- possibly replaying your edits (if they were saved on a 
> discarded branch before the rollback), possibly re-entering your edits (if 
> there has been so much change to the code since then that you have to redo it 
> anyways).
> 
> Document it for later, and then go back to what was working, even if it 
> worked badly. That's the key addition for the Mikado method.

Sounds very complex and a lot more work than rebasing that branch in small 
steps.

"Make a change" = rebase by a commit or two
"See what breaks" -> still the same
"Make a note" and "Rollback" = do an interactive rebase.

Advantage of rebasing: no need to document anything, fixes go straight into the 
commit introducing the breakage. Like "fix and forget".

Another advantage: you can see what the last commit at the branch point 
changed. Usually changes which depend on each other or make sense when applied 
together, only. With a huge diff/merge attempt there is no such information 
available, everything is hidden in a large haystack.

Yet another advantage: fixes here often break something there and replaying the 
whole branch to be merged after each small change makes sure such regressions 
get exposed immediately. When hackers memory is still fresh about what was 
changed.

Also no need to rewind all the stuff later. This large step simply vanishes. As 
soon as the last rebase is done, the entire task is done.

-- 
You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to