First of all, I should say that I'm starting to learn git so that it can be used for a two person development team. Really small I guess. Also, I should also state that I have a free account with beanstalk, which, allows me to create only one repository with only one collaborator (me.) I'm trying to evaluate whether or not we want to pay for a higher tier where we can have more repositories with more collaborators. Our main reasons, for wanting to use git and beanstalk are the following:
- To be able to reap the benefits of versioning
- To have a backup of our work online and not in our machines, currently we use Dropbox for this
- etc
.
So I'm trying to test how to work over a network and figure out my workflow by cloning the beanstalk repo in two different places on my computer and pushing and pulling from them.
Here's the work flow I desire to figure out: It's centralized in that my fellow collaborator and I push to the remote master and pull changes from the remote master and I think I understand how to do that well enough. However, I also want to 开发者_JAVA技巧be able to have a remote development branch from the main line of development, the remote master, but also I want my collaborator and I, to clone this development branch onto our machines, to be able to pull from this development branch and to push to it from our local machines and then when the development branch is stable to merge it onto the remote master and then we pull from the remote master onto our local clones of the master.
In the scheme of things I suppose I would be the one managing things as well. So far, what I have learned is about the centralized workflow is that the collaborators can push and pull to and from the remote master and choose to make their local branches on their own machine and then merge those with their local master and then pull from the remote master first before pushing to it. The problem I have with this is that the remote master has to be updated for my fellow collaborator to be able to have my changes and I would rather that the remote master doesn't have code that should go in a development branch. At least not until it's stable.
Is this workflow, good or is there a better way to do this?
Workflows are probably best figured out by trial and error with your team. What you've outlined sounds ljke a good place to start. Check out the pro git book ( http://progit.org/book/ ) chapter five for a nigh level overview of some typical practices.
精彩评论