title: git: how do I merge between branches while keeping some changesets exclusive to one branch?
body: <p>There's a special place in hell for people who hardcode absolute paths and database credentials into multiple random places in web applications. Sadly, before they go to hell they're wreaking havoc on Earth. And we  have to deal with their code.</p>
  
  <p>I have to perform a few small changes to one of such web applications. I create a new branch <code>features</code>, and perform a global find &amp; replace to update the paths and credentials to my local environment. I commit that. I also tag this as <code>local</code>.</p>
  
  <p>I merrily leap into perilous hacking penitence, and after a perplexing hundred patches, I want to merge my <code>features</code> changes into the <code>master</code> branch, but I do not want the one <code>local</code> commit to be merged.</p>
  
  <p>Onwards, I'll be merging back and forth between <code>master</code> and <code>features</code>, and I'd like <code>local</code> to stay put in <code>features</code>, and never ever show up in <code>master</code>.</p>
  
  <p>Ideally, I'd like all this to happen magically, with as little funny parameters and whatnot as possible.</p>
  
  <p>Is there a simple obvious way to do it that I'm missing?</p>
  
  <p>I can think of a couple, but they all require me to <strong>remember</strong> that I don't want that commit. And that's definitely not my forte. Especially with such poorly hacked programs.</p>
  
  <p>Failing that, I'm interested in more convoluted, manual-ish ways to handle the situation.</p>