title: How to know if I'm about to rebase?
body: <p>The <a href="http://git-scm.com/book/" rel="nofollow noreferrer">git documentation</a> mentions in several places <a href="http://git-scm.com/book/en/Git-Branching-Rebasing#The-Perils-of-Rebasing" rel="nofollow noreferrer">not to rebase if the code has been pushed to a public repository</a>. This would be a simple rule to follow if every operation which performed a rebase had the <code>rebase</code> command in it:</p>
  
  <pre><code>$ git rebase foobar
  </code></pre>
  
  <p>However, I have seen it mentioned that other commands (i.e. <code>reset</code>) may also perform a rebase behind the scenes. Thus, the "thall shall not rebase" rule becomes much harder to follow as the user might not know that the command that he is running will include a rebase.</p>
  
  <p><strong>How can the user know which commands perform rebases, in order to avoid them?</strong></p>
  
  <p><strong><em>Edit</em>:</strong> <a href="https://stackoverflow.com/questions/1918111/my-git-repository-is-in-the-wrong-root-directory-can-i-move-it-intead-of">Here is an example</a> of an action which, even given the accepted answer, is not clear if it is a rebase or not.</p>