title: Git and website development workflow
body: <p>My inquiries are specific and I understand that they can be subjective; I would appreciate any input.</p>
  
  <p>Here's what I was doing before git:</p>
  
  <ul>
  <li>I run a PHP/MYSQL website</li>
  <li>I develop locally and test on WAMP</li>
  <li>I FTP to a staging site dev.mywebsite.com</li>
  <li>Once I'm happy with all the changes, I FTP to the live site</li>
  </ul>
  
  <p>When I decided to start using Git:</p>
  
  <ul>
  <li>I initialized a bare repo on my hosting server</li>
  <li>Created a post-receive hook to deploy to dev.mywebsite.com</li>
  <li>I cloned the dev.mywebsite.com repo to a my local dev machine</li>
  <li>I test code -> commit -> push to remote (dev site)</li>
  </ul>
  
  <p>Here are my questions:</p>
  
  <p>1) There are a few files that I need them to remain different on local vs remote (these are mainly config files). I am using --assume-unchanged for these files. However, I read that doing 'git reset' would undo these so my first question:
  - Is there a better way to never change the config files when I push from local to remote?</p>
  
  <p>2) My workflow ends with me pushing to the dev site. I am not sure how to proceed from there, and deploy my code to the live website in the most efficient and risk free way.</p>
  
  <p>*3) A bonus question: Should I integrate github/bitbucket/etc.. into my workflow?</p>
  
  <p>Thank you</p>