Skip to content

Instantly share code, notes, and snippets.

@nicerobot
Last active April 2, 2019 01:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nicerobot/7872c485b925b4cb9d3ff7589cb6996a to your computer and use it in GitHub Desktop.
Save nicerobot/7872c485b925b4cb9d3ff7589cb6996a to your computer and use it in GitHub Desktop.
JS Fiddle GitGraph for Happy Path Feature Development Release Cycle
<head>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/gitgraph.js/1.15.1/gitgraph.min.js"></script>
<body>
<canvas id="gitGraph"></canvas>
var gitgraph = new GitGraph( {
template: new GitGraph.Template( {
colors: [ "#87bdd8", "#a2836e", "#e06377", "#d9ad7c", "#fA8973" ],
branch: {
lineWidth: 3,
spacingX: 50,
showLabel: true,
},
commit: {
spacingY: -30,
dot: {
size: 10
},
message: {
displayAuthor: false,
displayBranch: false,
displayHash: false,
font: "normal 12pt Arial"
},
shouldDisplayTooltipsInCompactMode: false,
}
} ),
});
var develop = gitgraph.branch("develop");
develop.commit("Continue using develop as usual");
var master = gitgraph.branch("master");
master.commit("Initialize master from develop");
var fA = develop.branch("feature/A");
var fB = develop.branch("feature/B");
var fC = develop.branch("feature/C");
fC.commit("Developer opens PR");
fC.commit("PR testing and review begins");
fC.merge(develop, "PR tested and reviewed: merge 'feature/C' into 'develop'");
fA.commit("Developer opens PR");
fA.commit("PR testing and review begins");
fB.commit("Developer opens PR");
fB.commit("PR testing and review begins");
fB.merge(develop, "PR tested and reviewed, merge 'feature/B' into 'develop'");
var r1 = develop.branch("release/1.2.3-rc.1914+1");
var fD = develop.branch("feature/D");
r1.commit("Code freezes with 'feature/B' and 'feature/C'");
r1.commit("QA: deploy");
r1.commit("QA: testing");
r1.commit("QA: approved");
r1.commit("Stage: deploy");
r1.commit("Stage: testing");
r1.commit("Stage: approved");
r1.merge(master, "Production: ready");
master.commit("Production: deploy (from 'master')");
master.merge(develop, "Merge release updates into 'develop'");
fA.commit("Developer updates PR");
fA.commit("PR testing and review begins");
fA.merge(develop, "PR tested and reviewed, merge 'feature/A' into 'develop'");
fD.commit("Developer opens PR");
fD.commit("PR testing and review begins");
fD.merge(develop, "PR tested and reviewed, merge 'feature/D' into 'develop'");
var r2 = develop.branch("release/1.2.3-rc.1915+1");
r2.commit("Code freezes with 'feature/A'");
r2.commit("QA: deploy");
r2.commit("QA: testing");
r2.commit("QA: approved");
r2.commit("Stage: deploy");
r2.commit("Stage: testing");
r2.commit("Stage: approved");
r2.merge(master, "Production: ready");
master.commit("Production: deploy (from 'master')");
master.merge(develop, "Merge release updates into 'develop'");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment