title: Creating branch off of remote master
body: <p>I have problem understanding the logic behind the following command in Git:</p>
  
  <pre><code>git checkout -b hotfix_example_1 origin/master
  </code></pre>
  
  <p>If I type it then a local branch called <strong><em>hotfix</em></strong> is created that branches off of the <strong><em>master</em></strong> branch of my remote repository named <strong><em>origin</em></strong>. When I later push it to my remote repository the graph looks like this:</p>
  
  <p><img src="https://i.stack.imgur.com/LPHcu.png" alt="enter image description here"></p>
  
  <p>Say that a colleague makes changes and pushes them to the <strong><em>remote master</em></strong> branch and at some later point I decide to create another branch off of the remote master one called <strong><em>hotfix_example_2</em></strong>. When I push the new <strong><em>hotfix_example_2</em></strong> branch to the remote repository I notice that the new branch I created is not branched off of the latest commit of <strong><em>remote master</em></strong> (the one that my colleague pushed earlier) but instead is branched off of the commit before that. If I do a </p>
  
  <pre><code>git pull origin master
  </code></pre>
  
  <p>on my local master branch and repeat the procedure, I can see that hotfix_example_2 is branched off of my colleague's commit. What I don't get is why do I have to do a git pull to get the graph I want even though I use origin/master in my checkout -b command. I am really sorry if it does not make much sense but english is not my native language.</p>