-
Notifications
You must be signed in to change notification settings - Fork 15
Development workflow
Here is assumed that you already know how git merges and rebases do work. If not, have a look at http://randyfay.com/content/rebase-workflow-git.
The workflow described here supposes that there multiple features being developed at the same time and has the objective to minimize the amount of conflicts and make the commits tree as understandable as possible (by turning it into a straight line).
Lets suppose that you're developing a new functionality called decide_halt (http://en.wikipedia.org/wiki/Halting_problem).
-
Make sure you have the latest code
git fetch -pgit checkout mastergit pull origin master -
Create branch for you to work
git checkout -b decide_halt # this creates a branch and changes to it -
Do some work, add the produced code, commit it and push your branch and go home have some rest
git add halt.rbgit commit -m "Halfway to solve the problem!"git push -u origin decide_halt -
On the next day, before you continue, check if there is nothing new on
mastergit fetch -pgit checkout mastergit pull origin master -
Supposing there is new things, get them:
git checkout decide_haltgit pull origin decide_haltgit rebase mastergit push -f origin decide_halt -
Repeat 4, 5 until you're done.
-
When you get finished open a pull request and we are going to thank you a lot for any contribution!
Feel free to contact us about any doubts.
The biggest hint is that we always expect for fast-forward merges. If git outputs any message for you telling that a recursive merge or any other kind of merge was made, probably something went wrong.
Previously all the job done on the branch master was done on a branch called dev. This has been changed in order to make things more intuitive to contributors.