User:Piggz/CalligraWorkflowInANutshell

From KDE UserBase Wiki

In general, features should be developed in a separate branch and merged into master once ready and reviewed, this allows the master branch to be in an almost permanently releasable state. Commits to master should be for simple things/bug fixes only.

Create a new branch

git checkout -b new_branch_name

<do some work>

Commit the work

git commit -a (or whichever preferred way of checking in)

<repeat until ready for review>

Post the changes to reviewboard using whatever preferred method, although the following git alias is handy

post-review = !post-review --guess-summary --guess-description --username=<reviewboardusernamehere> --repository-url=git://anongit.kde.org/calligra --target-people=<regularlyusedpeoplehere> --target-group=calligra

When ready to go into master, checkout master

git checkout master

Pull master and rebase

git pull --rebase

Merge the branch in a single, squashed commit

git merge --squash new_branch_name

Commit the new feature to master

git commit -a (or whichever preferred commit method)

Push to the main repository

git push origin master