Skip to content

Instantly share code, notes, and snippets.

@dornfeder
Last active January 24, 2024 09:38
Show Gist options
  • Save dornfeder/13abff279de357f048e474d4ed6c692d to your computer and use it in GitHub Desktop.
Save dornfeder/13abff279de357f048e474d4ed6c692d to your computer and use it in GitHub Desktop.
Git Branching Diagram Template

Git Branching Diagram Template for diagrams.net

This is my own variant of a git branching diagram template based on Bryan Braun's great template.

You can use this diagram as a template to create your own git branching diagrams. Here's how:

  1. Create a new diagram with diagrams.net (formerly draw.io)
  2. Go to File > Open From > URL
  3. Insert this url (it points to the xml data below): https://gist.githubusercontent.com/dornfeder/13abff279de357f048e474d4ed6c692d/raw/f5efc838bd34429e59e38063bd348b7a86457d18/git-diagram-template.xml
  4. Customize as needed for your team.
Display the source blob
Display the rendered blob
Raw
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" style="background-color: rgb(255, 255, 255);" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1081px" height="442px" viewBox="-0.5 -0.5 1081 442"><defs><style type="text/css">@import url(https://fonts.googleapis.com/css?family=Roboto);&#xa;</style></defs><g><rect x="0" y="0" width="1080" height="440" fill="#fafafa" stroke="#dedede" pointer-events="all"/><path d="M 220 61 L 1040 61" fill="none" stroke="#dedede" stroke-width="3" stroke-miterlimit="10" stroke-dasharray="9 9" pointer-events="stroke"/><path d="M 220 141 L 1040 140" fill="none" stroke="#dedede" stroke-width="3" stroke-miterlimit="10" stroke-dasharray="9 9" pointer-events="stroke"/><path d="M 220 300 L 1020 300" fill="none" stroke="#dedede" stroke-width="3" stroke-miterlimit="10" stroke-dasharray="9 9" pointer-events="stroke"/><path d="M 315.12 220 L 447.12 220" fill="none" stroke="#404040" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 315.12 220 Q 340 220 340 180.5 Q 340 141 364.87 141" fill="none" stroke="#404040" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><ellipse cx="300.12" cy="220" rx="15.000000000000004" ry="15.000000000000004" fill="#69c0e0" stroke="#404040" stroke-width="4" pointer-events="all"/><path d="M 875 220 Q 875 220 1040 220" fill="none" stroke="#404040" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 715 220 Q 740 220 740 180 Q 740 140 765 140" fill="none" stroke="#404040" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><ellipse cx="700" cy="220" rx="15.000000000000004" ry="15.000000000000004" fill="#69c0e0" stroke="#404040" stroke-width="4" pointer-events="all"/><path d="M 220 220 L 285.12 220" fill="none" stroke="#404040" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 394.87 141 Q 421 141 421 180.5 Q 421 220 447.12 220" fill="none" stroke="#404040" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><ellipse cx="379.87" cy="141" rx="15.000000000000004" ry="15.000000000000004" fill="#ffd966" stroke="#404040" stroke-width="4" pointer-events="all"/><path d="M 635 61 Q 660 61 660 140.5 Q 660 220 685 220" fill="none" stroke="#404040" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><ellipse cx="620" cy="61" rx="15.000000000000004" ry="15.000000000000004" fill="#ffad5c" stroke="#404040" stroke-width="4" pointer-events="all"/><path d="M 954.99 300 Q 954.99 300 1040 300" fill="none" stroke="#404040" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><ellipse cx="939.99" cy="300" rx="15.000000000000004" ry="15.000000000000004" fill="#97d077" stroke="#404040" stroke-width="4" pointer-events="all"/><rect x="268.62" y="244" width="63" height="22" rx="3.3" ry="3.3" fill="#e6e6e6" stroke="#404040" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 61px; height: 1px; padding-top: 255px; margin-left: 270px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; max-height: 18px; overflow: hidden; "><div style="display: inline-block; font-size: 14px; font-family: Roboto; color: #404040; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">1.0.0</div></div></div></foreignObject><text x="300" y="259" fill="#404040" font-family="Roboto" font-size="14px" text-anchor="middle">1.0.0</text></switch></g><path d="M 545 220 L 685 220" fill="none" stroke="#404040" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 477.12 220 Q 510 220 510 260 Q 510 300 535 300" fill="none" stroke="#404040" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><ellipse cx="462.12" cy="220" rx="15.000000000000004" ry="15.000000000000004" fill="#69c0e0" stroke="#404040" stroke-width="4" pointer-events="all"/><rect x="430.62" y="244" width="63" height="22" rx="3.3" ry="3.3" fill="#e6e6e6" stroke="#404040" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 61px; height: 1px; padding-top: 255px; margin-left: 432px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; max-height: 18px; overflow: hidden; "><div style="display: inline-block; font-size: 14px; font-family: Roboto; color: #404040; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">1.1.0</div></div></div></foreignObject><text x="462" y="259" fill="#404040" font-family="Roboto" font-size="14px" text-anchor="middle">1.1.0</text></switch></g><rect x="668.5" y="244" width="63" height="22" rx="3.3" ry="3.3" fill="#e6e6e6" stroke="#404040" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 61px; height: 1px; padding-top: 255px; margin-left: 670px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; max-height: 18px; overflow: hidden; "><div style="display: inline-block; font-size: 14px; font-family: Roboto; color: #404040; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">2.0.0</div></div></div></foreignObject><text x="700" y="259" fill="#404040" font-family="Roboto" font-size="14px" text-anchor="middle">2.0.0</text></switch></g><path d="M 220 380 L 1040 380" fill="none" stroke="#dedede" stroke-width="3" stroke-miterlimit="10" stroke-dasharray="9 9" pointer-events="stroke"/><path d="M 795 380 Q 795 380 845 380" fill="none" stroke="#404040" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><ellipse cx="780" cy="380" rx="15.000000000000004" ry="15.000000000000004" fill="#ff8585" stroke="#404040" stroke-width="4" pointer-events="all"/><path d="M 875 380 Q 900 380 900 340 Q 900 300 924.99 300" fill="none" stroke="#404040" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><ellipse cx="860" cy="380" rx="15.000000000000004" ry="15.000000000000004" fill="#ff8585" stroke="#404040" stroke-width="4" pointer-events="all"/><rect x="908.49" y="324.5" width="63" height="22" rx="3.3" ry="3.3" fill="#e6e6e6" stroke="#404040" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 61px; height: 1px; padding-top: 336px; margin-left: 909px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; max-height: 18px; overflow: hidden; "><div style="display: inline-block; font-size: 14px; font-family: Roboto; color: #404040; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">1.1.1</div></div></div></foreignObject><text x="940" y="340" fill="#404040" font-family="Roboto" font-size="14px" text-anchor="middle">1.1.1</text></switch></g><path d="M 545 220 Q 580 220 580 140.5 Q 580 61 605 61" fill="none" stroke="#404040" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><ellipse cx="540" cy="220" rx="5" ry="5" fill="#404040" stroke="#404040" pointer-events="all"/><path d="M 477.12 220 L 535 220" fill="none" stroke="#404040" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 545 300 L 695 300" fill="none" stroke="#404040" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><ellipse cx="540" cy="300" rx="5" ry="5" fill="#404040" stroke="#404040" pointer-events="all"/><path d="M 705 300 Q 740 300 740 340 Q 740 380 765 380" fill="none" stroke="#404040" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 705 300 L 924.99 300" fill="none" stroke="#404040" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><ellipse cx="700" cy="300" rx="5" ry="5" fill="#404040" stroke="#404040" pointer-events="all"/><path d="M 795 140 Q 820 140 820 180 Q 820 220 845 220" fill="none" stroke="#404040" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><ellipse cx="780" cy="140" rx="15.000000000000004" ry="15.000000000000004" fill="#ffd966" stroke="#404040" stroke-width="4" pointer-events="all"/><ellipse cx="860" cy="220" rx="15.000000000000004" ry="15.000000000000004" fill="#69c0e0" stroke="#404040" stroke-width="4" pointer-events="all"/><path d="M 715 220 Q 715 220 845 220" fill="none" stroke="#404040" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/><rect x="828.5" y="244" width="63" height="22" rx="3.3" ry="3.3" fill="#e6e6e6" stroke="#404040" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 61px; height: 1px; padding-top: 255px; margin-left: 830px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; max-height: 18px; overflow: hidden; "><div style="display: inline-block; font-size: 14px; font-family: Roboto; color: #404040; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">2.1.0</div></div></div></foreignObject><text x="860" y="259" fill="#404040" font-family="Roboto" font-size="14px" text-anchor="middle">2.1.0</text></switch></g><rect x="40" y="41.5" width="160" height="39" fill="#ffad5c" stroke="#404040" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 61px; margin-left: 41px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 14px; font-family: Roboto; color: #404040; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">major_feature</div></div></div></foreignObject><text x="120" y="65" fill="#404040" font-family="Roboto" font-size="14px" text-anchor="middle">major_feature</text></switch></g><rect x="40" y="121.5" width="160" height="39" fill="#ffd966" stroke="#404040" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 141px; margin-left: 41px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 14px; font-family: Roboto; color: #404040; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">minor_feature</div></div></div></foreignObject><text x="120" y="145" fill="#404040" font-family="Roboto" font-size="14px" text-anchor="middle">minor_feature</text></switch></g><rect x="40" y="200.5" width="160" height="39" fill="#69c0e0" stroke="#404040" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 220px; margin-left: 41px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 15px; font-family: Roboto; color: #404040; line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; ">master</div></div></div></foreignObject><text x="120" y="225" fill="#404040" font-family="Roboto" font-size="15px" text-anchor="middle" font-weight="bold">master</text></switch></g><rect x="40" y="280.5" width="160" height="39" fill="#97d077" stroke="#404040" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 300px; margin-left: 41px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 15px; font-family: Roboto; color: #404040; line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; ">support</div></div></div></foreignObject><text x="120" y="305" fill="#404040" font-family="Roboto" font-size="15px" text-anchor="middle" font-weight="bold">support</text></switch></g><rect x="40" y="360.5" width="160" height="39" fill="#ff8585" stroke="#404040" stroke-width="2" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 380px; margin-left: 41px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 14px; font-family: Roboto; color: #404040; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">bugfix</div></div></div></foreignObject><text x="120" y="384" fill="#404040" font-family="Roboto" font-size="14px" text-anchor="middle">bugfix</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://desk.draw.io/support/solutions/articles/16000042487" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Viewer does not support full SVG 1.1</text></a></switch></svg>
<mxfile host="app.diagrams.net" modified="2020-07-16T12:33:40.659Z" agent="5.0 (Windows)" etag="pfQ-ja5NWeCKKhT30bZf" version="13.4.4" type="device"><diagram id="53IQXVl9icCSp_Kw3Ib1" name="Page-1">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</diagram></mxfile>
@MehtabAhmed176
Copy link

Thank you so much, really appreciate it for sharing.

@yas-amini
Copy link

What a great way to visualize branching! Thank you

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment