- Notifications
You must be signed in to change notification settings - Fork 0
Workflows
================================================
Note: Any branch can be used as integration branch, here we'll use master)
git intbr master (made only once)
git config 4f.ftrbr-prefix ftr/ (optional, and made only once)
git ftrbr-start mytopic
This command will:
checkout master
pull master
create a branch named ftr/mytopic starting from master

Note: if integration branch is not tracked, pull will be skipped, resulting in an alias for
git checkout -b ftr/mytopic master
git ftrbr-integrate
This command will:
checkout master
pull master
merge ftr/mytopic into master

Note: if integration branch is not tracked, pull will be skipped, resulting in a shortcut for merging topicbranch into intbr
git checkout -b master && git merge ftr/mytopic
Note: We can configure merge options by configuring 4f.ftrbr-integrate-merge-opt, i.e.:
git config 4f.ftrbr-integrate-merge-opt --squash (optional)
git ftrbr-integrate-rebase
This command will:
checkout master
pull master
rebase ftr/mytopic onto master
merge ftr/mytopic into master (will fast forward)

Note: if integration branch is not tracked, pull will be skipped, resulting in a shortcut for rebasing topic branch onto intbr
git rebase master && git checkout master && git merge ftr/mytopic
Note: We can configure merge options after rebase by configuring 4f.ftrbr-integrate-rebase-opt, i.e.:
git config 4f.ftrbr-integrate-rebase-opt --no-ff (optional)
git ftrbr-push
This command will:
checkout master
pull master
merge ftr/mytopic into master
push master to origin

Note: We can configure merge options by configuring 4f.ftrbr-integrate-merge-opt, i.e.:
git config 4f.ftrbr-integrate-merge-opt --no-ff (optional)
git ftrbr-push-rebase
This command will:
checkout master
pull master
rebase ftr/mytopic onto master
merge ftr/mytopic into master (will fast forward)
push master to origin

Note: We can configure merge options by configuring 4f.ftrbr-integrate-rebase-opt
git ftrbr-update-merge
This command will:
checkout master
pull master
checkout ftr/mytopic
merge master into ftr/mytopic

Note: We can configure merge options by configuring 4f.ftrbr-update-merge-opt
git ftrbr-update-rebase
This command will:
checkout master
pull master
checkout ftr/mytopic
rebase ftr/mytopic onto master

#make a topic on 1.0
git intbr 1.0-dev
git ftrbr-start topci-for-1.0
.. work on 1.0
git ftrbr-push
#make a topic on 2.0 - just change integration branch
git intbr 2.0-dev
git ftrbr-start topci-for-2.0
.. work on 2.0
git ftrbr-push-rebase
In this example, 1.0-dev and 2.0 dev are both open releases.
Developer select onto which one to work just changing integration branch.
Everything else is as usual.
In this scenario a sub-team will work sharing a branch.
Someone will create shared branch and push it to origin. Then he/she will set it as integration branch, create a topic branch based on that shared branch:
git intbr master git ftrbr-start shared-br
git push origin -u shared-br
git intbr shared-br
git ftrbr-start topic1
...
git ftrbr-push-rebase
Another team member will import shared branch, track it, set it as integration branch and create his topic branch:
git fetch
git checkout -t origin/shared-br
git intbr shared-br
git ftrbr-start topic2
...
git ftrbr-push-rebase
