title: GIT: how to squash several commits that have been pushed to a remote repo?
body: <p>I have a weird setup with Git.  Basically I have:</p>
  
  <pre><code>[client 1] &lt;---&gt; [remote repo] ----&gt; [client 2]
  </code></pre>
  
  <p>[Client 1] is essentially the local repo I am working with, because I can't compile/build the project on my local machine.</p>
  
  <p>[Client 2] is a remote server for building.</p>
  
  <p>In the middle, I have another repo, [remote repo], basically for synchronizing with a cvs central repo in my company, and also synchronizing between my [client 1] and [client 2].</p>
  
  <p>Since all the compiling/building is done on [client 2], I have many trivial commits on [client 1] just for fixing the compilation or building errors.</p>
  
  <p>So by the time I find out there are errors in the last commit, it's already too late because the commit has already been pushed to and pulled from the remote repo. </p>
  
  <p>How can I squash these (many) trivial commits into one?
  Thanks.</p>