I work on a lot of ColdFusion projects that are housed on a single web server. I've recently been 'shown the light' by others on SO and want to move to a developer machine / test machine / production machine development methodology.
I'm now trying to reconcile how best to deal with the way I (and others in our institution) are 'forced' to work...
Let's say our webserver is set up like this
-Root
--Project 1
--Project 2
--Project 3
--Framework Files
Let's also say that we have a central git repository set up and that I have a clone of the root that I'm working with. All other developers in the group also have their own clone of the repository.
So -- It's Monday morning and I've started work on Project 1. I'm in the middle of an estimated 4 hour feature request and one of my eight different bosses comes in and tells me that there is a critical problem that needs to be fixed in Project 2. Monday is off to a great start.
I need to fix Project 2 STAT, but I'm not done with the feature request for Project 1 yet. If I fix in Project 2, then commit to my local repository to push to test... it's going to include the unfinished feature in P1... which is bad.
If I extrapolate from Joel Spolsky's Mercurial Init Architecture page, is the solution to create a 'dev' clone of the repository for each subproject? To commit to those, then commit to main local repository, then to the main shared repository?
Is there another concept in Git that I'm missing?
Thanks all, Chris