I'm working on lamp application. We have 2 servers (Debian) Live and Dev.
I constantly work on dev main to add new features and fix bugs.
When happy all works well I scp the relevant code to the Live system. Database (mysql) is local to each machine.
Now this is pretty basic setup really and I want to improve the workflow a bit. I use git and github for version control. Admittedly I've only really used one branch. Their can be 3 different developers who work on the code at different times. We all use the same linux username to connect to the dev server and edit the code directly when needed. I usually then commit and push the code at the end of the day to github.
One thing to bare in mind is it isn't easy to run this code on a local machine as there are many apache and subdomain configurations that wouldn't work on a local machine so it is important to work on the dev server not locally.
I need to create a new process because we need to have a main trunk now and a branch with a big code re-write.
What is the best way to do this. Should I create different unix logins for each developer and set up different working areas on the dev server for there changes? e.g.
/var/www/mysite_derek /var/www/mysite_paul /var/www/mysite_mike
my thinking is they can do a pull from the main branch and then create there own branch and merge it back in. I'm not sure how this will work though with git locally and with github.
will i need to create different github user accounts as well.
I'd like to do this the 'right' way and future proof for having lots of potential developers but I also don't want to over complicate it. I simple and elegant solution is preferred.
any recommendations or suggestions?