-
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