title: Should tests and README update be included in commit with a feature?
body: <p>I have a git repository for a library for which I occasionally add new features (or maybe update the existing ones, still same steps).</p>
  
  <p>Whenever I do, I need to do three things:</p>
  
  <ul>
  <li>Add the implementation</li>
  <li>Add tests</li>
  <li>Update README.md </li>
  </ul>
  
  <p>Now I have two options:</p>
  
  <ol>
  <li><p>Put them all in one commit: </p>
  
  <ul>
  <li>Commit 1: <code>Add FEATURE_NAME + tests + update README.md</code></li>
  </ul></li>
  <li><p>Put them in three different commits: </p>
  
  <ul>
  <li>Commit 1: <code>Add FEATURE_NAME</code></li>
  <li>Commit 2: <code>Add tests for FEATURE_NAME</code></li>
  <li>Commit 3: <code>Update README.md for FEATURE_NAME</code></li>
  </ul></li>
  </ol>
  
  <p>If I go with the first option, then it will be easier to revert it if I decide my feature is bad, since I only need to deal with one commit.</p>
  
  <p>If I go with the second option, it separates my work into different commits which makes sense.</p>
  
  <p>Which option is better (or maybe there is another way altogether) and why?</p>