Hey WordPress developers: I am interested to learn about your behaviour when it comes to WP development. Do you have a local development environment where you develop first? Or do you work directly on the server?
Additionally
Thanks a ton!
My development env on local instance is Xubuntu(Ubuntu 14.04) with plain Apache and Webmin. I am primarily back-end developer and for WordPress that's all I need. I use SSH when it's available, on shared hosting surely not.
I use Git for themes and plugins, as my job often includes writing plugins and functionalities that can't be found easily/free on repos. And Git allows me to track changes and continue my work remotely if necessary.
Casual
I cannot relate to WordPress however I'd like to expand that to web-development in general.
Working directly on the server can be dangerous and may add several risks, e.g - if you have constant visitors they may run into errors, as for a local development setup it can be tested and looked over to assure that when you do upload it to your web-server your visitors don't run into issues or complications. I say this because it's a common mistake some website managers/owners may make and I've seen horrendous vulnerabilities made by them not testing their code first.
For my local development environment I use Nginx (running Debian 8 currently). I've switched between several web-servers for local and live environments but keep coming back to Nginx as I love the way you can configure it, and I'm now incredibly comfortable with it. But the web-server also would depend on what OS you're running on your local machine. For Windows I've used XAMP and nothing else.
Personally on nearly all of my servers I'm running Debian 8, once again with Nginx (connecting via SSH). For managing my content back and forth I do use Git. You should lookup Git along with the commands for your OS (not sure if they vary too much).
Once again I'm sorry for not speaking about WordPress however I believe you can still use my advice.