I'm working on a project in a small team at the moment working on a webapp. We originally had 3 on the team with a lead dev and now we've grown to 7 and a lead dev.
At the moment our workflow is this: we all work off of one central repository and use SVN. Once we get our dev environment to a somewhat stable stage we copy it over to our testing site, then we push it live. At the moment I'm trying to push a single feature live, so I'm copying bits a pieces from our dev environment over to our test environment and it's a bit of a pain which has prompted this post.
(Disclaimer, my knowledge of git is mainly push, pull and commit) In my mind we should be doing the following: maintain one branch of code. Each dev would then create branch when working on a feature then when complete merge it back to the main branch.
My boss, the lead dev, reckons that merging in PHP is a pain in the ass. I can't think of why it would be different to any other language but I don't have the experience to know any better. Is this a workflow that we should be looking into or is there a better way? What way does your workflow go?