title: What is the Difference Between Git Cherry-Pick and Git Revert?
body: <p>I still find the behavior of git revert somewhat confusing. After significant pain and misunderstanding, I learnt that git revert <em>negates</em> a particular commit rather than reverting <em>to</em>  that commit. I have not used git cherry-pick so far.</p>
  
  <p>Can you elaborate on each of these two git commands? When and how do you prefer to use them?</p>