title: What is the correct Git p4 workflow?
body: <p>I set up a git repository using the instructions here: <a href="https://git.help.collab.net/entries/22564277-Migration-from-Perforce-to-GIT" rel="nofollow">https://git.help.collab.net/entries/22564277-Migration-from-Perforce-to-GIT</a></p>
  
  <p>I have a master branch where I get the latest from perforce and where I submit my changes to perforce. I also have a development branch where I do my work, sometimes I will have a feature branch (branched from development).</p>
  
  <p>I've been trying to figure out the correct workflow, here is where I'm at now - please correct me if there a better way.</p>
  
  <p>1) git checkout master </p>
  
  <p>2) git p4 rebase (get the latest from perforce, should I use "git p4 sync" instead?)</p>
  
  <p>3) git checkout development </p>
  
  <p>3) git merge master (update the development to the latest)</p>
  
  <p>4) git commit.. (do all my work and commits)</p>
  
  <p>5) git checkout master (get ready to merge development to branch</p>
  
  <p>6) git p4 sync (pull the latest from perforce)</p>
  
  <p>7) git merge development </p>
  
  <p>8) resolve any conflicts</p>
  
  <p>9) git p4 rebase (pull the latest from perforce then rebase my committed changes on top of it)</p>
  
  <p>10) git p4 submit</p>
  
  <p>Should "git p4 rebase" only be used at right before a "git p4 commit"?
  Also for my model/workflow is merging better than rebasing?</p>