title: Git commands that could break/rewrite the history
body: <p>Can you provide a list of (all, or the most common) the operations or commands that can compromise the history in git?</p>
  
  <p>What should be absolutely avoided?</p>
  
  <ol>
  <li>Amend a commit after a push of this one (<code>git commit</code>/<code>git push</code>/<code>git commit --amend</code>)</li>
  <li>Rebase toward something that has already pushed</li>
  </ol>
  
  <p>I would like this question (if it has not already asked before somewhere else) to become some kind of reference on the <strong>common avoidable operations on <em>git</em></strong>.</p>
  
  <p>Moreover I use <code>git reset</code> a lot, but am not completely aware of the possible damage I could do to the repository (or to the other contributors copies). Can <code>git reset</code> be dangerous?</p>