git amend/force-push

Open discussion:

Scenario: 
- There are 3 commits in feature branch A -> B -> C
- Commit B is wrong (bad code, committed comments, etc)

Requirement: 
- Fix it!

Possible solutions:
- Add one more commit D that fixes the issues (simple one)
- Rewrite history changing commit B in place (requires more caution and git skills)

Which one should we use?

ping @jandudulski, @sheerun, @teamon, @szajbus, @Ostrzy, @porada, @jcieslar