Currently my web development workflow for live sites is pretty broken and I am looking to improve the process. I have no version control and am more often than not doing direct edits over FTP to the live site. Because of that, this is a new workflow I am thinking of implementing and would love your feedback. Along the same lines, feel free to let me know "that workflow is stupid... you should do X instead".
Goals/hopes/dreams:
- No requirement for local box to have a full dev environment (WAMP, etc)
- Uses Git
- Minimal overhead (I'm a one man shop and don't want to have a million branches to deal with, etc)
Proposed Workflow:
- Two sites:
- site.com - My live site lives here
- beta.site.com - Copy of my site lives here
- All work is done remotely over FTP on the beta.site.com site. This allows me to use my web server as my "dev box"
- Once the change/feature I am working on is complete, I perform a commit to my only branch ("live")
- The live branch has a post-hook that copies the changes over to the live site at site.com
- If I run into any issues I can simply rollback the live branch which will in turn re-deploy the last working version of the site
I know this isn't the most ideal workflow as I technically don't have a true staging environment, etc but seeing as I am just a one person dev team I feel like this may be sufficient. Also, since I'm coming from live FTP edits to the site, I know that if I introduce too much overhead I'll end up just editing the site again after a short period and I want to make sure I stick with this new method.
Anywho, anyone have any thoughts or suggestions on this approach? Would love to hear the feedback of the more seasoned devs here.