Fork Workflow
Develop Git Graph
Git Flow
%%{init: { 'gitGraph': {'showCommitLabel': false}} }%%
gitGraph
commit
branch fork/main order: 5
checkout main
commit
branch base/feature order: 1
checkout fork/main
commit tag:"repo for client1" type: HIGHLIGHT
branch fork/dev order: 7
commit tag:"develop branch"
checkout base/feature
commit
checkout main
merge base/feature tag:"new feature MR"
commit
checkout fork/main
merge main tag:"sync base"
checkout main
commit
branch base/fix-feature order: 2
checkout fork/dev
merge fork/main
branch fork/feature order: 8
commit
checkout fork/dev
merge fork/feature tag:"new feature MR"
checkout base/fix-feature
commit
checkout main
merge base/fix-feature tag:"solve issue MR"
commit
checkout fork/main
merge main tag:"sync base"
checkout fork/dev
merge fork/main
checkout fork/main
commit
branch fork/fix-base order:6
commit
checkout fork/dev
branch fork/fix-feature order: 9
commit
checkout fork/dev
merge fork/fix-feature tag:"solve issue MR"
checkout fork/main
merge fork/fix-base tag:"solve base issue"
checkout main
merge fork/main tag:"solve issue from fork"
checkout main
commit
checkout fork/main
merge main tag:"sync base"
checkout fork/dev
merge fork/main tag:"sync base"
checkout fork/dev
branch fork/feature2 order:11
commit
Merge Requests
develop actions | branch's base | MR from | MR to |
---|---|---|---|
base feature | main | feature | main |
fix base feature | main | fix | main |
customize feature | fork/dev | fork/feature | fork/dev |
fix customize feature | fork/dev | fork/fix | fork/dev |
fix base issue in frok | fork/main | fork/fix-base | fork/main |
sync base | - | main | fork/main |
update fix to base | - | fork/main | main |
Develope on fork branch simultaneously
Git Flow
%%{init: { 'gitGraph': {'showCommitLabel': false}} }%%
gitGraph
commit
branch fork/main order: 5
checkout main
commit
branch base/feature1 order: 1
checkout fork/main
commit tag:"repo for client1" type: HIGHLIGHT
branch fork/dev order: 9
commit tag:"develop branch"
checkout base/feature1
commit
checkout fork/dev
branch fork/feature1-customize order: 8
checkout fork/dev
checkout fork/main
commit
branch fork/sync-feature1 order:6
checkout base/feature1
checkout fork/sync-feature1
merge base/feature1 tag:"sync feature"
checkout fork/feature1-customize
merge fork/sync-feature1
checkout fork/dev
commit
checkout fork/feature1-customize
commit tag:"customize feature"
checkout main
commit
checkout base/feature1
commit
checkout fork/sync-feature1
merge base/feature1 tag:"sync feature"
checkout fork/feature1-customize
merge fork/sync-feature1
checkout fork/dev
merge fork/feature1-customize tag:"resovle customize feature Issue"
checkout main
merge base/feature1 tag:"resovle feature Issue"
commit
checkout fork/main
merge main tag:"sync base"
checkout fork/dev
merge fork/main tag:"sync base"
Merge Requests
develop actions | branch's base | MR from | MR to |
---|---|---|---|
base feature | main | feature | main |
sync base feature to fork repo | - | feature | fork/sync-feature |
sync base feature for customizing | - | fork/sync-feature | fork/feature |
customize feature | fork/dev | fork/feature | fork/dev |