-
Notifications
You must be signed in to change notification settings - Fork 0
Git Workflow Sample
metaory edited this page Oct 26, 2022
·
5 revisions

sample-generated-config-file
version: 0.63.0
sleep: 1000
exit_on_error: false
workflows:
resolve-conflict-dev:
description: create resolve conflict branch
steps:
- git fetch --all
- git checkout -b resolved-conflict/{current-branch}
- git push --set-upstream origin resolved-conflict/{current-branch}
- git merge origin/dev
sync-master:
description: sync branch with master
steps:
- git fetch --all
- git merge origin/master
create-flight:
description: create new flight branch workflow
args:
- name: taskId
type: string
- name: description
type: string
steps:
- echo running {workflow}
- git fetch origin
- git checkout master
- git merge origin/master
- git checkout -b flight/{description}
- git status
- confirm git push --set-upstream origin flight/{description}
- list-logs:
limit: 100
- log-bugtracker:
bugtracker: "{MXF_BUG_TRACKER_NAME}"
tenant: "{MXF_BUG_TRACKER_TENANT}"
create-feature:
description: create new feature branch workflow
args:
- name: taskId
type: string
- name: description
type: string
steps:
- echo running {workflow}
- git fetch origin
- git checkout master
- git merge origin/master
- checkout-branch:
base: flight
- git checkout -b feature/{taskId}-{description}
- git status
- confirm git push --set-upstream origin feature/{taskId}-{description}
- list-logs:
limit: 100
- log-bugtracker:
bugtracker: "{MXF_BUG_TRACKER_NAME}"
tenant: "{MXF_BUG_TRACKER_TENANT}"
create-bugfix:
description: create new bugfix branch workflow
args:
- name: taskId
type: string
- name: description
type: string
steps:
- echo running {workflow}
- git fetch origin
- git checkout master
- git merge origin/master
- checkout-branch:
base: flight
- git checkout -b bugfix/{taskId}-{description}
- git status
- confirm git push --set-upstream origin bugfix/{taskId}-{description}
- list-logs:
limit: 100
- log-bugtracker:
bugtracker: "{MXF_BUG_TRACKER_NAME}"
tenant: "{MXF_BUG_TRACKER_TENANT}"
create-other:
description: create new other branch workflow
args:
- name: taskId
type: string
- name: description
type: string
steps:
- echo running {workflow}
- git fetch origin
- git checkout master
- git merge origin/master
- checkout-branch:
base: flight
- git checkout -b other/{taskId}-{description}
- git status
- confirm git push --set-upstream origin other/{taskId}-{description}
- list-logs:
limit: 100
- log-bugtracker:
bugtracker: "{MXF_BUG_TRACKER_NAME}"
tenant: "{MXF_BUG_TRACKER_TENANT}"
create-hotfix:
description: create new hotfix branch workflow
args:
- name: taskId
type: string
- name: description
type: string
steps:
- echo running {workflow}
- git fetch origin
- git checkout master
- git merge origin/master
- git checkout -b hotfix/{taskId}-{description}
- git status
- confirm git push --set-upstream origin hotfix/{taskId}-{description}
- list-logs:
limit: 100
- log-bugtracker:
bugtracker: "{MXF_BUG_TRACKER_NAME}"
tenant: "{MXF_BUG_TRACKER_TENANT}"
| branch | create from | can sync from | branch name |
|---|---|---|---|
| flight | master | master | flight/{description} |
| hotfix | master | master | hotfix/{taskId}-{description} |
| feature | flight | parent flight | feature/{taskId}-{description} |
| bugfix | flight | parent flight | bugfix/{taskId}-{description} |
| other | flight | parent flight | other/{taskId}-{description} |
Hotfix branch:
- Can only be created from
master - While branch in active, can sync from
master - Cannot take pull from
dev - Should not take pull from another
feature / flight / hotfixbranch
Flight branch:
- Will only be created from
master - Can sync from
master - Cannot sync from
dev
feature/bugfix/other in Flight (Child branch -> Flight branch):
- Task branches (feature/bugfix/other) should be created from the
Flightbranch - Cannot take pull from any branch but
Flightbranch - Can take pull from a sibling branch of the same flight if it depends on it
-
flight is for the features, bugs, and improvements corresponding to the flight (epic) in the
BugTracking system - Ticket branches can be created from a flight branch.
- There are 3 ticket branch prefixes: feature, bugfix, and other. These branches require a
BugTracking task IDin their names.
-
featureis for the small packed features inside the flight. -
bugfixis for the fixes and issues related to the flight. -
otheris used for non-technical issues like documentation or infrastructure improvements, etc.
- hotfix is dedicated to fixes regarding critical issues in the production environment.