First thing you need is the Revision Control System,
http://en.wikipedia.org/wiki/Revision_Control_System[
^].
Best system can be open-source, very reliable, light weight, portable. I would say, doing development without such system, you simply waste time and put the results of your effort under unreasonable risk. You also waste too much time on project support, just messing with files. My advice is: stop everything, learn Revision Control systems and start using one immediately.
[EDIT]
Also, you will be able to create branches, such as experimental ones, testing versions and releases, merge branches and resolve conflicts, collaborate through the system, retract your steps and a lot more, based on a very simple and clear set of operations. Search of all the previous development steps also can be done easily.
[END EDIT]
Please see this discussion:
Revision control systems, which to choose from?[
^].
Please also see my past answer where I explain some more specific detail:
Needs some words of wisedom to set up and/or use a server[
^],
Make an unclickable form[
^],
How can i structured to arrange source code when i create a new solution[
^].
—SA