title: Is Git Smart Enough to Merge After Refactoring
body: <h2>Assume I have a class.</h2>
  
  <pre><code>package org.my.domain;
  
  public class BestClassEver{}
  </code></pre>
  
  <hr>
  
  <h2>My Workflow</h2>
  
  <p><strong>Through some refactoring, I change this class's package.</strong></p>
  
  <pre><code>package org.another.domain;
  
  public class BestClassEver{}
  </code></pre>
  
  <p><strong>I commit this to my local repository using git and push it to a remote repository.</strong></p>
  
  <pre><code>git add .
  git commit -m "Refactoring"
  git push origin master
  </code></pre>
  
  <hr>
  
  <h2>Another Developer's Workflow</h2>
  
  <p><strong>Another developer modifies the class, without pulling my changes.</strong></p>
  
  <pre><code>package org.my.domain;
  
  public class BestClassEver{
      private String something;
  }
  </code></pre>
  
  <p><strong>Then commits and pushes to the remote repository</strong></p>
  
  <pre><code>git add .
  git commit -m "Some Changes"
  git push origin master
  </code></pre>
  
  <hr>
  
  <h2>Questions</h2>
  
  <ol>
  <li>Will Git merge the other developer's changes into the class?</li>
  <li>If not, what happens?  </li>
  <li>Is this workflow something that needs to be coordinated amongst the team?</li>
  </ol>