title: Git rebasing issue - should I "push --force origin"
body: <p>I seem to have messed up my git repo, probably by committing the sin of "Do not rebase commits that you have pushed to a public repository."</p>
  
  <p>The scenario is this:</p>
  
  <ul>
  <li>I track changes from a upstream repository in my master branch, I keep my own changes in a branch called devel.</li>
  <li>When there is a change in the upstream repository I pull this into the master branch.</li>
  <li>I then checkout devel and do a <code>rebase master</code> on it, to get my own changes on top of the master branch. This creates causes conflicts, giving the following error message to come up at several of the commits (I include only one of them below as an example):</li>
  </ul>
  
  <blockquote>
    <p>Falling back to patching base and 3-way merge... Auto-merging
    public/scala/qscript/org/broadinstitute/sting/queue/qscripts/AlignWithBWA.scala
    CONFLICT (content): Merge conflict in
    public/scala/qscript/org/broadinstitute/sting/queue/qscripts/AlignWithBWA.scala
    Failed to merge in the changes. Patch failed at 0038 Added checking
    for index files.</p>
    
    <p>When you have resolved this problem run "git rebase --continue". If
    you would prefer to skip this patch, instead run "git rebase --skip".
    To check out the original branch and stop rebasing run "git rebase
    --abort".</p>
  </blockquote>
  
  <ul>
  <li>I then use <code>git rebase --skip</code> to skip the commits causing the problems, and finally I end up with the code I want.</li>
  </ul>
  
  <p>Now, the problem is, <em>every time</em> I want to rebase I have to go through this procedure. Is there any way for me to avoid getting the same conflicts in the future? My idea is to use <code>push --force origin devel</code>, to overwrite the history in the remote repo with out the commits that cause the conflicts. Is this the way to go? Or is there some other way to resolve this issue?</p>