I've been designing and developing websites for a number of years now, however, whenever I make changes to a website I take the bad approach of making a modification, replacing the orignal on the web server, testing in browser and making more changes as needed. I'm looking for a better way to do this. Alternatively sometimes I'll work on a new version of "page.php" by just copying it to "pageeee.php" to make my modifications until its ready to launch but then I have issues with things such as my "/page/" rewrite rules breaking all links while I'm testing, etc.
I've been thinking about just opening a new site thats basically mywebsite-dev.com where I can have a complete copy where I'll make all my changes and then just copy files over whenever I'm ready to release.
I assume the best method is for me to learn how to use SVN or something?
Long story short: What methods do you all use for developing in a beta/test enviroment and then auto deploying to your production website? Bonus points if the solution allows for versioning, rollback, etc while still being resonably easy to use.