I hope NOBODY here do that, and you all develop on your local machine to then upload once you at least tested it to see if it works! If you don't then you MUST (not should) install a web server on your PC (being Windows, Linux or OSX), and develop locally. Why? We shall discuss that another time maybe.
Anyhow, let's assume everyone is sane and develop on his own PC, and once the soft is at least partially tested, upload the changes on the server. Yet, that can be painful if you don't use Visual Studio for example and use the one click publish facility there. As most here use PHP or Node.JS (right?) this is hardly a solution. So how do you do it? Via an FTP or SFTP (for SSH connections) tool usually, but you have to remember which file you modified, and then push it to the server. Can be error prone and at least for me annoying.
If you run under Linux, the easiest solution would be rsync (enough tutorials are found on the net to see how it works). Keep in mind you may need to set a proper private / public key to authenticate yourself, beside that it should be ok.
If you are on Mac OSX, no luck, I will not help you with this exotic system
If you are like me, running on Windows as desktop and your web server runs under Linux, here is how I solved the issue:
Download for free WinSCP: http://winscp.net/eng/download.php
This tools runs both as command line utility and as graphical interface. As GUI you can use it like a folder, where you connect to your host and drag drop the files or use the sync tool graphically. But if you are like me on the super lazy side of life, you may want to have a single click on an icon to sync your whole project.
1) To do so, I created and saved a session on the GUI side of the tool, with the password of my server saved in the session (yes it may not be a good option if your PC is used by multiple people).
2) Added the path of the WINSCP.EXE file in my windows PATH environment variable (look at http://www.computerhope.com/issues/ch000549.htm to see for example how to set a path)
3) Created a cmd file somewhere on my local disk with something like:
Code: Select all
winscp session_name /script="C:\winscp_commands.txt"
4) Create the file winscp_commands.txt with a content like:
Code: Select all
synchronize remote C:\local\site /www/remote/dir
bye
Once this is done, you are up and running, and then starting your cmd file will lunch the sync of your local and remote directory. That should take you between 5 and 10 min to setup, and then only a double click to sync all your changes. Isn't that cool?
Comments, questions are welcome of course