Server Folder 1 Master Repo Folder 2 Repository Receive Hook Staging Repo Folder 3 Repository Publish Script Web Server Folder 6 Apache2 HTML pages and assets Doc Writer Folder 4 Local Repo Doc Reader Folder 5 push / pull <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512" width="640" height="512" fill="rgb(51,102,153)" fill-opacity="1"><path d="M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4z"/></svg> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" width="448" height="512" fill="rgb(51,102,153)" fill-opacity="1"><path d="M448 73.143v45.714C448 159.143 347.667 192 224 192S0 159.143 0 118.857V73.143C0 32.857 100.333 0 224 0s224 32.857 224 73.143zM448 176v102.857C448 319.143 347.667 352 224 352S0 319.143 0 278.857V176c48.125 33.143 136.208 48.572 224 48.572S399.874 209.143 448 176zm0 160v102.857C448 479.143 347.667 512 224 512S0 479.143 0 438.857V336c48.125 33.143 136.208 48.572 224 48.572S399.874 369.143 448 336z"/></svg> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512" width="384" height="512" fill="rgb(51,102,153)" fill-opacity="1"><path d="M0 64v384c0 35.3 28.7 64 64 64h256c35.3 0 64-28.7 64-64V128L256 0H64C28.7 0 0 28.7 0 64zm224 192h-64v-64h64v64zm96 0h-64v-64h32c17.7 0 32 14.3 32 32v32zm-64 128h64v32c0 17.7-14.3 32-32 32h-32v-64zm-96 0h64v64h-64v-64zm-96 0h64v64H96c-17.7 0-32-14.3-32-32v-32zm0-96h256v64H64v-64zm0-64c0-17.7 14.3-32 32-32h32v64H64v-32z"/></svg> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512" width="384" height="512" fill="rgb(51,102,153)" fill-opacity="1"><path d="M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zM123.206 400.505a5.4 5.4 0 0 1-7.633.246l-64.866-60.812a5.4 5.4 0 0 1 0-7.879l64.866-60.812a5.4 5.4 0 0 1 7.633.246l19.579 20.885a5.4 5.4 0 0 1-.372 7.747L101.65 336l40.763 35.874a5.4 5.4 0 0 1 .372 7.747l-19.579 20.884zm51.295 50.479l-27.453-7.97a5.402 5.402 0 0 1-3.681-6.692l61.44-211.626a5.402 5.402 0 0 1 6.692-3.681l27.452 7.97a5.4 5.4 0 0 1 3.68 6.692l-61.44 211.626a5.397 5.397 0 0 1-6.69 3.681zm160.792-111.045l-64.866 60.812a5.4 5.4 0 0 1-7.633-.246l-19.58-20.885a5.4 5.4 0 0 1 .372-7.747L284.35 336l-40.763-35.874a5.4 5.4 0 0 1-.372-7.747l19.58-20.885a5.4 5.4 0 0 1 7.633-.246l64.866 60.812a5.4 5.4 0 0 1-.001 7.879z"/></svg> <?xml version="1.0" encoding="utf-8"?> <svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="57px" height="65px" viewBox="0 0 57 65" enable-background="new 0 0 57 65" xml:space="preserve"> <g> <polygon fill="#353535" stroke="#353535" stroke-linecap="round" stroke-linejoin="round" points="44.675,45.684 13.412,50.074 12.502,27.118 43.718,27.745 "/> <radialGradient id="SVGID_1_" cx="27.2832" cy="3145.5264" r="31.054" fx="21.2252" fy="3142.2256" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)" gradientUnits="userSpaceOnUse"> <stop offset="0" style="stop-color:#B38E5D"/> <stop offset="1" style="stop-color:#805126"/> </radialGradient> <path fill="url(#SVGID_1_)" stroke="#5B453B" stroke-miterlimit="10" d="M49.529,51.225c-4.396-4.396-10.951-5.884-12.063-6.109 V37.8H19.278c0,0,0.038,6.903,0,6.868c0,0-6.874,0.997-12.308,6.432C1.378,56.691,0.5,62.77,0.5,62.77 c0,1.938,1.575,3.492,3.523,3.492h48.51c1.947,0,3.521-1.558,3.521-3.492C56.055,62.768,54.211,55.906,49.529,51.225z"/> <radialGradient id="face_x5F_white_1_" cx="27.5835" cy="3117.4922" r="23.425" fx="23.0139" fy="3115.0024" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)" gradientUnits="userSpaceOnUse"> <stop offset="0" style="stop-color:#B38E5D"/> <stop offset="1" style="stop-color:#805126"/> </radialGradient> <path id="face_x5F_white_2_" fill="url(#face_x5F_white_1_)" stroke="#5B453B" stroke-miterlimit="10" d="M43.676,23.357 c0.086,10.2-6.738,18.52-15.25,18.586c-8.5,0.068-15.464-8.146-15.55-18.344C12.794,13.4,19.618,5.079,28.123,5.012 C36.627,4.945,43.59,13.158,43.676,23.357z"/> <linearGradient id="face_highlight_1_" gradientUnits="userSpaceOnUse" x1="6466.8389" y1="-12294.1094" x2="6490.4683" y2="-12387.5586" gradientTransform="matrix(0.275 0 0 -0.2733 -1752.8849 -3351.7349)"> <stop offset="0" style="stop-color:#FFFFFF;stop-opacity:0.42"/> <stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0.12"/> </linearGradient> <path id="face_highlight_2_" fill="url(#face_highlight_1_)" d="M27.958,6.333c-6.035,0.047-10.747,4.493-12.787,10.386 c-0.664,1.919-0.294,4.043,0.98,5.629c2.73,3.398,5.729,6.283,9.461,8.088c3.137,1.518,7.535,2.385,11.893,1.247 c2.274-0.592,3.988-2.459,4.375-4.766c0.187-1.094,0.293-2.289,0.283-3.553C42.083,13.952,36.271,6.268,27.958,6.333z"/> <path fill="#5C5C5C" stroke="#353535" stroke-linecap="round" stroke-linejoin="round" d="M17.597,43.835 c-0.413-3.019-0.613-5.013-0.789-7.864c-0.574-9.349,2.886-17.721,2.886-17.721l0.882-2.078l0.94,2.419l1.872-4.956l-0.049,4.553 l1.311-0.749l0.701-1.653L25.715,18l1.055-0.988l2.13-0.729L29.84,17l0.479-2.375l0.834,2.554l1.125-1.024l1.68-0.214l1.07,1.372 l-0.243-4.246l1.883,3.967L37.611,17c0,0,6.029,9.948,3.75,28.426c2.154,0.76,4.479,2.688,6.881,4.648 c0.001-0.002,0.011-0.012,0.011-0.012L44.111,19.38C43.079,12.873,38.752,2.599,28.73,2.648 C5.153,2.568,13.025,42.055,8.945,49.334c-0.007,0.014-0.012,0.025-0.02,0.039C12.292,46.729,15.652,44.346,17.597,43.835z"/> <radialGradient id="body_1_" cx="50.5117" cy="-3134.7334" r="32.8445" gradientTransform="matrix(0.9852 0 0 -0.9852 -34.4844 -3033.9702)" gradientUnits="userSpaceOnUse"> <stop offset="0" style="stop-color:#FFC373"/> <stop offset="1" style="stop-color:#FFB448"/> </radialGradient> <path id="body_9_" fill="url(#body_1_)" stroke="#ED8D00" d="M0.5,62.768c0,1.938,1.575,3.494,3.523,3.494h48.51 c1.947,0,3.521-1.559,3.521-3.494c0,0-1.844-6.861-6.525-11.543c-4.815-4.813-8.244-5.146-8.244-5.146 c-1.444,6.983-8.555,8.786-13.007,8.786s-11.322-2.643-11.941-9.439c0,0-4.559,1.199-9.367,5.674 C1.378,56.689,0.5,62.768,0.5,62.768z"/> </g> </svg> <?xml version="1.0" encoding="utf-8"?> <!-- Generator: Adobe Illustrator 15.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="70px" height="70px" viewBox="0 0 70 70" enable-background="new 0 0 70 70" xml:space="preserve"> <g id="Ebene_1_3_"> <g id="Display"> <g> <radialGradient id="SVGID_1_" cx="480.4053" cy="1998.8477" r="21.6001" gradientTransform="matrix(1.15 0 0 1 -526.8943 -1982.4023)" gradientUnits="userSpaceOnUse"> <stop offset="0" style="stop-color:#F2F2F2"/> <stop offset="1" style="stop-color:#8D8D8D"/> </radialGradient> <path fill="url(#SVGID_1_)" d="M11.827,9.478c0-0.987,0.807-1.794,1.794-1.794H56.9c0.986,0,1.795,0.807,1.795,1.794v26.978 c0,0.987-0.809,1.794-1.795,1.794H13.62c-0.987,0-1.794-0.807-1.794-1.794L11.827,9.478L11.827,9.478z"/> <path display="none" fill="none" stroke="#3C89C9" stroke-width="0.2185" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d=" M11.827,9.478c0-0.987,0.807-1.794,1.794-1.794H56.9c0.986,0,1.795,0.807,1.795,1.794v26.978c0,0.987-0.809,1.794-1.795,1.794 H13.62c-0.987,0-1.794-0.807-1.794-1.794L11.827,9.478L11.827,9.478z"/> </g> <g> <radialGradient id="SVGID_2_" cx="457.458" cy="1991.5371" r="47.8462" fx="495.0984" fy="1985.089" gradientTransform="matrix(1.1935 0 0 1 -509.9757 -1982.4023)" gradientUnits="userSpaceOnUse"> <stop offset="0" style="stop-color:#4D4D4D"/> <stop offset="1" style="stop-color:#999999"/> </radialGradient> <path fill="url(#SVGID_2_)" d="M12.744,10.394c0-0.987,0.807-1.794,1.794-1.794h41.649c0.986,0,1.795,0.807,1.795,1.794v24.943 c0,0.985-0.809,1.794-1.795,1.794H14.538c-0.987,0-1.794-0.809-1.794-1.794V10.394z"/> </g> <g> <radialGradient id="SVGID_3_" cx="458.4482" cy="1991.6133" r="30.6699" gradientTransform="matrix(1.1923 0 0 1 -510.4322 -1982.4023)" gradientUnits="userSpaceOnUse"> <stop offset="0" style="stop-color:#9CD7FF"/> <stop offset="1" style="stop-color:#3C89C9"/> </radialGradient> <path fill="url(#SVGID_3_)" d="M13.253,10.802c0-0.987,0.807-1.794,1.794-1.794H55.68c0.986,0,1.795,0.807,1.795,1.794v24.126 c0,0.986-0.809,1.794-1.795,1.794H15.047c-0.987,0-1.794-0.809-1.794-1.794V10.802z"/> </g> <path opacity="0.24" fill="#F2F2F2" d="M13.253,29.047V10.802c0-0.987,0.807-1.794,1.794-1.794H55.68 c0.986,0,1.795,0.807,1.795,1.794v9.454c0,0.987-10.518,5.21-18.256,6.795C31.481,28.636,13.253,29.047,13.253,29.047z"/> </g> <linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="132.9141" y1="-204.6865" x2="132.9141" y2="-163.0527" gradientTransform="matrix(1 0 0 -1 -97.6001 -149.9004)"> <stop offset="0" style="stop-color:#4D4D4D"/> <stop offset="0.0667" style="stop-color:#717171"/> <stop offset="0.069" style="stop-color:#757575"/> <stop offset="0.0831" style="stop-color:#8C8C8C"/> <stop offset="0.0996" style="stop-color:#9E9E9E"/> <stop offset="0.1196" style="stop-color:#AAAAAA"/> <stop offset="0.1466" style="stop-color:#B1B1B1"/> <stop offset="0.2121" style="stop-color:#B3B3B3"/> <stop offset="1" style="stop-color:#C5C5C5"/> </linearGradient> <path fill="url(#SVGID_4_)" d="M59.949,39.809c-0.689-0.856-2.154-1.559-3.254-1.559H13.564c-1.1,0-2.552,0.711-3.227,1.579 l-7.546,9.717c-1.227,1.579-1.185,1.813-1.227,2.579v0.125c0.056,0.393,0.311,1.002,1.248,1.002h64.75 c0.75,0.002,1.5-0.252,1.5-1.002v-0.125c0-0.813,0-0.813-1.254-2.559L59.949,39.809z"/> <path opacity="0.23" fill="#F2F2F2" enable-background="new " d="M59.949,39.809c-0.689-0.856-2.154-1.559-3.254-1.559H13.564 c-1.1,0-2.552,0.711-3.227,1.579l-7.055,9.085l58.098-7.33L59.949,39.809z"/> <g> <path fill="#6E6E6E" d="M61.314,44.779c0.344,0.431,0.172,0.783-0.377,0.783H9.813c-0.55,0-0.742-0.369-0.427-0.819l2.786-3.986 c0.315-0.45,1.023-0.819,1.573-0.819h42.729c0.551,0,1.279,0.354,1.623,0.783L61.314,44.779z"/> </g> <g> <path fill="#6E6E6E" d="M41.994,49.48c0.072,0.217-0.057,0.395-0.285,0.395H28.291c-0.229,0-0.364-0.18-0.3-0.398l0.822-2.826 c0.064-0.221,0.303-0.399,0.532-0.399h11.167c0.229,0,0.475,0.179,0.547,0.396L41.994,49.48z"/> </g> </g> </svg> <?xml version="1.0" encoding="utf-8"?> <svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="57px" height="65px" viewBox="0 0 57 65" enable-background="new 0 0 57 65" xml:space="preserve"> <g> <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="26.3398" y1="3115.7266" x2="27.5807" y2="3145.5239" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)"> <stop offset="0.2711" style="stop-color:#FFAB4F"/> <stop offset="1" style="stop-color:#FFD28F"/> </linearGradient> <path fill="url(#SVGID_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M49.529,51.225c-4.396-4.396-10.951-5.884-12.063-6.109 V37.8H19.278c0,0,0.038,6.903,0,6.868c0,0-6.874,0.997-12.308,6.432C1.378,56.691,0.5,62.77,0.5,62.77 c0,1.938,1.575,3.492,3.523,3.492h48.51c1.947,0,3.521-1.558,3.521-3.492C56.055,62.768,54.211,55.906,49.529,51.225z"/> <radialGradient id="face_x5F_white_1_" cx="27.5835" cy="3117.4922" r="23.425" fx="23.0139" fy="3115.0024" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)" gradientUnits="userSpaceOnUse"> <stop offset="0" style="stop-color:#FFD28F"/> <stop offset="1" style="stop-color:#FFAB4F"/> </radialGradient> <path id="face_x5F_white_3_" fill="url(#face_x5F_white_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M43.676,23.357 c0.086,10.2-6.738,18.52-15.25,18.586c-8.5,0.068-15.464-8.146-15.55-18.344C12.794,13.4,19.618,5.079,28.123,5.012 C36.627,4.945,43.59,13.158,43.676,23.357z"/> <linearGradient id="face_highlight_1_" gradientUnits="userSpaceOnUse" x1="6468.501" y1="-12291.5195" x2="6492.1304" y2="-12384.9688" gradientTransform="matrix(0.275 0 0 -0.2733 -1752.8849 -3351.7349)"> <stop offset="0" style="stop-color:#FFFFFF;stop-opacity:0.24"/> <stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0.16"/> </linearGradient> <path id="face_highlight_3_" fill="url(#face_highlight_1_)" d="M28.415,5.625c-6.035,0.047-10.747,4.493-12.787,10.386 c-0.664,1.919-0.294,4.043,0.98,5.629c2.73,3.398,5.729,6.283,9.461,8.088c3.137,1.518,7.535,2.385,11.893,1.247 c2.274-0.592,3.988-2.459,4.375-4.766c0.187-1.094,0.293-2.289,0.283-3.553C42.54,13.244,36.729,5.56,28.415,5.625z"/> <path fill="#5C5C5C" stroke="#353535" stroke-linecap="round" stroke-linejoin="round" d="M32.215,9.938 c0,0,5.688,2.75,7.688,8.125c2.104,5.652,4.123,8.232,4.188,8c1.875-6.794,1.063-21.438-10.17-21.587 c-20.455-7.663-25.58,11.962-23.893,19.65c1.078,4.911,2.234,6.686,3.938,8.08C13.966,32.205,15.028,17.563,32.215,9.938z"/> <linearGradient id="body_1_" gradientUnits="userSpaceOnUse" x1="95.9063" y1="-3136.23" x2="31.5133" y2="-3136.23" gradientTransform="matrix(0.9852 0 0 -0.9852 -34.4844 -3033.9702)"> <stop offset="0" style="stop-color:#49AD33"/> <stop offset="1" style="stop-color:#C2DA92"/> </linearGradient> <path id="body_8_" fill="url(#body_1_)" stroke="#008D33" d="M0.5,62.768c0,1.938,1.575,3.494,3.523,3.494h48.51 c1.947,0,3.521-1.559,3.521-3.494c0,0-1.844-6.861-6.525-11.543c-4.815-4.813-8.244-5.146-8.244-5.146 c-1.444,6.983-8.555,8.786-13.007,8.786s-11.322-2.643-11.941-9.439c0,0-4.559,1.199-9.367,5.674 C1.378,56.689,0.5,62.768,0.5,62.768z"/> </g> </svg>