title: How to revert an old commit without loosing all subsequent changes/commits?
body: <p>In my project we need to revert an old commit which upgraded version of Protobuf library to 3 back to 2 as our counterparts are not ready to upgrade yet. This upgrade was made around 24 commits ago.
  For now I manually made those changes and pushed in a new commit. Is there a way I can <code>git revert</code> that commit and still keep the changes from all the newer 22 commits?</p>