-
Notifications
You must be signed in to change notification settings - Fork 15
Development How To
mleszczynski edited this page Sep 13, 2010
·
20 revisions
This is a document for Taskboard developers that describes development practices. It’s intended to show how do we use Kanban methodology with Git repository.
- story branches – each story or issue should be developed in it’s own branch. This branch should remain local. If there is a need to share the changes with other developers patches should be used (or pulls between developers’ repositories)
-
dev– development branch is intended for code that is still in progress (not yet checked by Product Owner). If the implementation of story/issue is completed it’s branch should be merged todevbranch.
This branch may contain messy and incomplete code, so it should never be merged to other branches (especiallydoneormaster). -
done– this should store only fully completed stories/issues. The stories/issues that where indevbranch and where successfully checked by Product Owner should be merged todonebranch. -
master– we usemasterbranch as a release branch – we merge thedonebranch tomasterwhen we do a release
Windows users should enable autocrlf option. Check here for instructions.
- Clone the repository:
git clone [email protected]:CognifideLabs/taskboard.git
- Go into
taskboarddirectory (all the other commands are done there):cd taskboard
- Create and update
devanddonebranches:git checkout
--track-b done origin/done
git checkout--track-b dev origin/dev - Go to
donebranch:git checkout done
- Take the first card from the Queue column
- Move it into In progress column
- Add a tag with you initials to assign this issue to yourself
Create a local branch for the issue (from done branch).
- Make sure you are in
donebranch:git checkout done
- Update
donebranch:git pull origin done
- Create a branch for the story (let’s call it
story-branch):git branch story-branch
- Move to the story branch:
git checkout story-branch
Do all your development in the story-branch. Here is the list of some git commands that may be useful:
- To check what files are changed:
git status
- To add files to next commit:
git add
- To commit your changes to your local repo (please add issue number to commit message):
git commit -m “issue-666 this is some evil comment”
When you’ve developed a useful piece of code (implemented a story, fixed a bug) that is ready to be checked by Product Owner, merge your changes to dev branch.
- Go to
devbranch:git checkout dev
- Make sure it’s up to date:
git pull origin dev
- Check commits that you are about to merge:
git log dev..story-branch
- If it’s OK merge your
story-branch:git merge story-branch
- Push your changes to remote repository:
git push origin dev
- After few minutes check your email to see if you haven’t broken the build ;)
- Mark story card on taskboard as Waiting for check so Product Owner will know he needs to review it
When Product Owner accepts resolved issue he will move it’s card into Done column. Such issue should be merged into done branch, so it will be ready for next release.
- Go to
donebranch:git checkout done
- Make sure it’s up to date:
git pull origin done
- Go back to your issue branch:
git checkout story-branch
- Check what is new in done branch:
git log story-branch..done
- Merge anything new from dev branch into your branch (resolve conflicts if any):
git merge done
- Go again to
donebranch:git checkout done
- Check commits from your branch that you are about to merge:
git log done..story-branch
- If it’s OK merge your
story-branch:git merge story-branch
- Push your changes to remote repository:
git push origin done
- After few minutes check your email to see if you haven’t broken the build ;)
- Mark story card on taskboard as Merged to done