-
Notifications
You must be signed in to change notification settings - Fork 0
/
github_in_browser.html
107 lines (107 loc) · 33.4 KB
/
github_in_browser.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><style data-href="/styles.a37e35d4b6bd66c8e7a4.css" id="gatsby-global-css">*{box-sizing:border-box}body{margin:0;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:#14877e}.searchbox{display:inline-block;position:relative;width:200px;height:32px!important;white-space:nowrap;box-sizing:border-box;visibility:visible!important}.searchbox .algolia-autocomplete{display:block;width:100%;height:100%}.searchbox__wrapper{width:100%;height:100%;z-index:999;position:relative}.searchbox__input{display:inline-block;box-sizing:border-box;transition:box-shadow .4s ease,background .4s ease;border:0;border-radius:16px;box-shadow:inset 0 0 0 1px #ccc;background:#fff!important;padding:0 26px 0 32px;width:100%;height:100%;vertical-align:middle;white-space:normal;font-size:12px;-webkit-appearance:none;appearance:none}.searchbox__input::-webkit-search-cancel-button,.searchbox__input::-webkit-search-decoration,.searchbox__input::-webkit-search-results-button,.searchbox__input::-webkit-search-results-decoration{display:none}.searchbox__input:hover{box-shadow:inset 0 0 0 1px #b3b3b3}.searchbox__input:active,.searchbox__input:focus{outline:0;box-shadow:inset 0 0 0 1px #aaa;background:#fff}.searchbox__input::-webkit-input-placeholder{color:#aaa}.searchbox__input:-ms-input-placeholder{color:#aaa}.searchbox__input::placeholder{color:#aaa}.searchbox__submit{position:absolute;top:0;margin:0;border:0;border-radius:16px 0 0 16px;background-color:rgba(69,142,225,0);padding:0;width:32px;height:100%;vertical-align:middle;text-align:center;font-size:inherit;-webkit-user-select:none;-ms-user-select:none;user-select:none;right:inherit;left:0}.searchbox__submit:before{display:inline-block;margin-right:-4px;height:100%;vertical-align:middle;content:""}.searchbox__submit:active,.searchbox__submit:hover{cursor:pointer}.searchbox__submit:focus{outline:0}.searchbox__submit svg{width:14px;height:14px;vertical-align:middle;fill:#6d7e96}.searchbox__reset{display:block;position:absolute;top:8px;right:8px;margin:0;border:0;background:none;cursor:pointer;padding:0;font-size:inherit;-webkit-user-select:none;-ms-user-select:none;user-select:none;fill:rgba(0,0,0,.5)}.searchbox__reset.hide{display:none}.searchbox__reset:focus{outline:0}.searchbox__reset svg{display:block;margin:4px;width:8px;height:8px}.searchbox__input:valid~.searchbox__reset{display:block;-webkit-animation-name:sbx-reset-in;animation-name:sbx-reset-in;-webkit-animation-duration:.15s;animation-duration:.15s}@-webkit-keyframes sbx-reset-in{0%{-webkit-transform:translate3d(-20%,0,0);transform:translate3d(-20%,0,0);opacity:0}to{-webkit-transform:none;transform:none;opacity:1}}@keyframes sbx-reset-in{0%{-webkit-transform:translate3d(-20%,0,0);transform:translate3d(-20%,0,0);opacity:0}to{-webkit-transform:none;transform:none;opacity:1}}.algolia-autocomplete .ds-dropdown-menu:before{display:block;position:absolute;content:"";width:14px;height:14px;background:#fff;z-index:1000;top:-7px;border-top:1px solid #ddd;border-right:1px solid #ddd;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);border-radius:2px}.algolia-autocomplete .ds-dropdown-menu{box-shadow:0 1px 0 0 rgba(0,0,0,.2),0 2px 3px 0 rgba(0,0,0,.1)}@media (min-width:601px){.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu{right:0!important;left:inherit!important}.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu:before{right:48px}.algolia-autocomplete .ds-dropdown-menu{top:-6px;border-radius:4px;margin:8px 0 0;padding:0;text-align:left;height:auto;position:relative;background:#fff;border:1px solid #ddd;z-index:999;max-width:600px;min-width:500px}}@media (max-width:680px){.algolia-autocomplete .ds-dropdown-menu{z-index:100;position:fixed!important;top:115px!important;left:auto!important;right:1rem!important;width:600px;max-width:calc(100% - 2rem);max-height:calc(100% - 12rem);display:block;overflow:auto;background:#fff}.algolia-autocomplete .ds-dropdown-menu:before{right:6rem}}.algolia-autocomplete .ds-dropdown-menu .ds-suggestions{position:relative;z-index:1000}.algolia-autocomplete .ds-dropdown-menu .ds-suggestion{cursor:pointer}.algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-]{position:relative;border-radius:4px;overflow:auto;padding:0}.algolia-autocomplete .ds-dropdown-menu *{box-sizing:border-box}.algolia-autocomplete .algolia-docsearch-suggestion{position:relative;padding:0;overflow:hidden;background-color:#fff;display:block}.algolia-autocomplete .ds-cursor .algolia-docsearch-suggestion--wrapper .algolia-docsearch-suggestion--content{background:#f1f1f1}.algolia-autocomplete .algolia-docsearch-suggestion--highlight{color:teal;padding:.1em .05em}.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl0 .algolia-docsearch-suggestion--highlight,.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl1 .algolia-docsearch-suggestion--highlight{color:inherit;background:inherit}.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{padding:0 0 1px;background:inherit;box-shadow:inset 0 -2px 0 0 teal;color:inherit}.algolia-autocomplete .algolia-docsearch-suggestion--content{display:block;float:right;width:70%;position:relative;padding:5.33333px 0 5.33333px 10.66667px;cursor:pointer}.algolia-autocomplete .algolia-docsearch-suggestion--content:before{content:"";position:absolute;display:block;top:0;height:100%;width:1px;background:#ececec;left:-1px}.algolia-autocomplete .algolia-docsearch-suggestion--category-header{position:relative;display:none;font-size:14px;background-color:#fff;border-bottom:1px solid #ececec;color:#212121;margin:0 16px;padding:8px 0 4px;line-height:1.5}.algolia-autocomplete .algolia-docsearch-suggestion--wrapper{background-color:#fff;width:100%;float:left;padding:4px 16px}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column{float:left;width:30%;display:none;text-align:right;position:relative;padding:5.33333px 10.66667px;color:#777;font-size:.8em;word-wrap:break-word}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column:before{content:"";position:absolute;display:block;top:0;height:100%;width:1px;background:#ececec;right:0}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column .algolia-docsearch-suggestion--highlight{background-color:inherit;color:inherit}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-inline{display:none}.algolia-autocomplete .algolia-docsearch-suggestion--title{margin-bottom:4px;color:#212121;font-size:.9em;font-weight:500}.algolia-autocomplete .algolia-docsearch-suggestion--text{display:block;line-height:1.8em;font-size:.8em;color:#666;padding-right:2px;word-break:break-all}.algolia-autocomplete .algolia-docsearch-suggestion--no-results{width:100%;padding:8px 0;text-align:center;font-size:1.2em;margin-top:-8px}.algolia-autocomplete .algolia-docsearch-suggestion--no-results .algolia-docsearch-suggestion--text{color:#555;margin-top:4px}.algolia-autocomplete .algolia-docsearch-suggestion--no-results:before{display:none}.algolia-autocomplete .algolia-docsearch-suggestion code{padding:1px 5px;font-size:90%;border:none;color:#222;background-color:#ebebeb;border-radius:3px;font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.algolia-autocomplete .algolia-docsearch-suggestion code .algolia-docsearch-suggestion--highlight{background:none}.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__main .algolia-docsearch-suggestion--category-header,.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__secondary .algolia-docsearch-suggestion--subcategory-column{display:block}.algolia-autocomplete .algolia-docsearch-footer{background-color:#fff;width:100%;height:30px;z-index:2000;float:right;font-size:0;line-height:0}.algolia-autocomplete .algolia-docsearch-footer--logo{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 130 18"><defs><linearGradient id="a" x1="-36.87%" x2="129.43%" y1="134.94%" y2="-27.7%"><stop stop-color="%2300AEFF" offset="0%"/><stop stop-color="%233369E7" offset="100%"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><path fill="url(%23a)" d="M59.4.02h13.3a2.37 2.37 0 0 1 2.38 2.37V15.6a2.37 2.37 0 0 1-2.38 2.36H59.4a2.37 2.37 0 0 1-2.38-2.36V2.38A2.37 2.37 0 0 1 59.4.02z"/><path fill="%23FFF" d="M66.26 4.56c-2.82 0-5.1 2.27-5.1 5.08 0 2.8 2.28 5.07 5.1 5.07 2.8 0 5.1-2.26 5.1-5.07 0-2.8-2.28-5.07-5.1-5.07zm0 8.65c-2 0-3.6-1.6-3.6-3.56 0-1.97 1.6-3.58 3.6-3.58 1.98 0 3.6 1.6 3.6 3.58a3.58 3.58 0 0 1-3.6 3.57zm0-6.4v2.66c0 .07.08.13.15.1l2.4-1.24c.04-.02.06-.1.03-.14a2.96 2.96 0 0 0-2.46-1.5c-.06 0-.1.05-.1.1zm-3.33-1.96l-.3-.3a.78.78 0 0 0-1.12 0l-.36.36a.77.77 0 0 0 0 1.1l.3.3c.05.05.13.04.17 0 .2-.25.4-.5.6-.7.23-.23.46-.43.7-.6.07-.04.07-.1.03-.16zm5-.8V3.4a.78.78 0 0 0-.78-.78h-1.83a.78.78 0 0 0-.78.78v.63c0 .07.06.12.14.1a5.74 5.74 0 0 1 1.58-.22c.52 0 1.04.07 1.54.2a.1.1 0 0 0 .13-.1z"/><path fill="%23182359" d="M102.16 13.76c0 1.46-.37 2.52-1.12 3.2-.75.67-1.9 1-3.44 1-.56 0-1.74-.1-2.67-.3l.34-1.7c.78.17 1.82.2 2.36.2.86 0 1.48-.16 1.84-.5.37-.36.55-.88.55-1.57v-.35a6.37 6.37 0 0 1-.84.3 4.15 4.15 0 0 1-1.2.17 4.5 4.5 0 0 1-1.6-.28 3.38 3.38 0 0 1-1.26-.82 3.74 3.74 0 0 1-.8-1.35c-.2-.54-.3-1.5-.3-2.2 0-.67.1-1.5.3-2.06a3.92 3.92 0 0 1 .9-1.43 4.12 4.12 0 0 1 1.45-.92 5.3 5.3 0 0 1 1.94-.37c.7 0 1.35.1 1.97.2a15.86 15.86 0 0 1 1.6.33v8.46zm-5.95-4.2c0 .9.2 1.88.6 2.3.4.4.9.62 1.53.62.34 0 .66-.05.96-.15a2.75 2.75 0 0 0 .73-.33V6.7a8.53 8.53 0 0 0-1.42-.17c-.76-.02-1.36.3-1.77.8-.4.5-.62 1.4-.62 2.23zm16.13 0c0 .72-.1 1.26-.32 1.85a4.4 4.4 0 0 1-.9 1.53c-.38.42-.85.75-1.4.98-.54.24-1.4.37-1.8.37-.43 0-1.27-.13-1.8-.36a4.1 4.1 0 0 1-1.4-.97 4.5 4.5 0 0 1-.92-1.52 5.04 5.04 0 0 1-.33-1.84c0-.72.1-1.4.32-2 .22-.6.53-1.1.92-1.5.4-.43.86-.75 1.4-.98a4.55 4.55 0 0 1 1.78-.34 4.7 4.7 0 0 1 1.8.34c.54.23 1 .55 1.4.97.38.42.68.92.9 1.5.23.6.35 1.3.35 2zm-2.2 0c0-.92-.2-1.7-.6-2.22-.38-.54-.94-.8-1.64-.8-.72 0-1.27.26-1.67.8-.4.54-.58 1.3-.58 2.22 0 .93.2 1.56.6 2.1.38.54.94.8 1.64.8s1.25-.26 1.65-.8c.4-.55.6-1.17.6-2.1zm6.97 4.7c-3.5.02-3.5-2.8-3.5-3.27L113.57.92l2.15-.34v10c0 .25 0 1.87 1.37 1.88v1.8zm3.77 0h-2.15v-9.2l2.15-.33v9.54zM119.8 3.74c.7 0 1.3-.58 1.3-1.3 0-.7-.58-1.3-1.3-1.3-.73 0-1.3.6-1.3 1.3 0 .72.58 1.3 1.3 1.3zm6.43 1c.7 0 1.3.1 1.78.27.5.18.88.42 1.17.73.28.3.5.74.6 1.18.13.46.2.95.2 1.5v5.47a25.24 25.24 0 0 1-1.5.25c-.67.1-1.42.15-2.25.15a6.83 6.83 0 0 1-1.52-.16 3.2 3.2 0 0 1-1.18-.5 2.46 2.46 0 0 1-.76-.9c-.18-.37-.27-.9-.27-1.44 0-.52.1-.85.3-1.2.2-.37.48-.67.83-.9a3.6 3.6 0 0 1 1.23-.5 7.07 7.07 0 0 1 2.2-.1l.83.16v-.35c0-.25-.03-.48-.1-.7a1.5 1.5 0 0 0-.3-.58c-.15-.18-.34-.3-.58-.4a2.54 2.54 0 0 0-.92-.17c-.5 0-.94.06-1.35.13-.4.08-.75.16-1 .25l-.27-1.74c.27-.1.67-.18 1.2-.28a9.34 9.34 0 0 1 1.65-.14zm.18 7.74c.66 0 1.15-.04 1.5-.1V10.2a5.1 5.1 0 0 0-2-.1c-.23.03-.45.1-.64.2a1.17 1.17 0 0 0-.47.38c-.13.17-.18.26-.18.52 0 .5.17.8.5.98.32.2.74.3 1.3.3zM84.1 4.8c.72 0 1.3.08 1.8.26.48.17.87.42 1.15.73.3.3.5.72.6 1.17.14.45.2.94.2 1.47v5.48a25.24 25.24 0 0 1-1.5.26c-.67.1-1.42.14-2.25.14a6.83 6.83 0 0 1-1.52-.16 3.2 3.2 0 0 1-1.18-.5 2.46 2.46 0 0 1-.76-.9c-.18-.38-.27-.9-.27-1.44 0-.53.1-.86.3-1.22.2-.36.5-.65.84-.88a3.6 3.6 0 0 1 1.24-.5 7.07 7.07 0 0 1 2.2-.1c.26.03.54.08.84.15v-.35c0-.24-.03-.48-.1-.7a1.5 1.5 0 0 0-.3-.58c-.15-.17-.34-.3-.58-.4a2.54 2.54 0 0 0-.9-.15c-.5 0-.96.05-1.37.12-.4.07-.75.15-1 .24l-.26-1.75c.27-.08.67-.17 1.18-.26a8.9 8.9 0 0 1 1.66-.15zm.2 7.73c.65 0 1.14-.04 1.48-.1v-2.17a5.1 5.1 0 0 0-1.98-.1c-.24.03-.46.1-.65.18a1.17 1.17 0 0 0-.47.4c-.12.17-.17.26-.17.52 0 .5.18.8.5.98.32.2.75.3 1.3.3zm8.68 1.74c-3.5 0-3.5-2.82-3.5-3.28L89.45.92 91.6.6v10c0 .25 0 1.87 1.38 1.88v1.8z"/><path fill="%231D3657" d="M5.03 11.03c0 .7-.26 1.24-.76 1.64-.5.4-1.2.6-2.1.6-.88 0-1.6-.14-2.17-.42v-1.2c.36.16.74.3 1.14.38.4.1.78.15 1.13.15.5 0 .88-.1 1.12-.3a.94.94 0 0 0 .35-.77.98.98 0 0 0-.33-.74c-.22-.2-.68-.44-1.37-.72-.72-.3-1.22-.62-1.52-1C.23 8.27.1 7.82.1 7.3c0-.65.22-1.17.7-1.55.46-.37 1.08-.56 1.86-.56.76 0 1.5.16 2.25.48l-.4 1.05c-.7-.3-1.32-.44-1.87-.44-.4 0-.73.08-.94.26a.9.9 0 0 0-.33.72c0 .2.04.38.12.52.08.15.22.3.42.4.2.14.55.3 1.06.52.58.24 1 .47 1.27.67.27.2.47.44.6.7.12.26.18.57.18.92zM9 13.27c-.92 0-1.64-.27-2.16-.8-.52-.55-.78-1.3-.78-2.24 0-.97.24-1.73.72-2.3.5-.54 1.15-.82 2-.82.78 0 1.4.25 1.85.72.46.48.7 1.14.7 1.97v.67H7.35c0 .58.17 1.02.46 1.33.3.3.7.47 1.24.47.36 0 .68-.04.98-.1a5.1 5.1 0 0 0 .98-.33v1.02a3.87 3.87 0 0 1-.94.32 5.72 5.72 0 0 1-1.08.1zm-.22-5.2c-.4 0-.73.12-.97.38s-.37.62-.42 1.1h2.7c0-.48-.13-.85-.36-1.1-.23-.26-.54-.38-.94-.38zm7.7 5.1l-.26-.84h-.05c-.28.36-.57.6-.86.74-.28.13-.65.2-1.1.2-.6 0-1.05-.16-1.38-.48-.32-.32-.5-.77-.5-1.34 0-.62.24-1.08.7-1.4.45-.3 1.14-.47 2.07-.5l1.02-.03V9.2c0-.37-.1-.65-.27-.84-.17-.2-.45-.28-.82-.28-.3 0-.6.04-.88.13a6.68 6.68 0 0 0-.8.33l-.4-.9a4.4 4.4 0 0 1 1.05-.4 4.86 4.86 0 0 1 1.08-.12c.76 0 1.33.18 1.7.5.4.33.6.85.6 1.56v4h-.9zm-1.9-.87c.47 0 .83-.13 1.1-.38.3-.26.43-.62.43-1.08v-.52l-.76.03c-.6.03-1.02.13-1.3.3s-.4.45-.4.82c0 .26.08.47.24.6.16.16.4.23.7.23zm7.57-5.2c.25 0 .46.03.62.06l-.12 1.18a2.38 2.38 0 0 0-.56-.06c-.5 0-.92.16-1.24.5-.3.32-.47.75-.47 1.27v3.1h-1.27V7.23h1l.16 1.05h.05c.2-.36.45-.64.77-.85a1.83 1.83 0 0 1 1.02-.3zm4.12 6.17c-.9 0-1.58-.27-2.05-.8-.47-.52-.7-1.27-.7-2.25 0-1 .24-1.77.73-2.3.5-.54 1.2-.8 2.12-.8.63 0 1.2.1 1.7.34l-.4 1c-.52-.2-.96-.3-1.3-.3-1.04 0-1.55.68-1.55 2.05 0 .67.13 1.17.38 1.5.26.34.64.5 1.13.5a3.23 3.23 0 0 0 1.6-.4v1.1a2.53 2.53 0 0 1-.73.28 4.36 4.36 0 0 1-.93.08zm8.28-.1h-1.27V9.5c0-.45-.1-.8-.28-1.02-.18-.23-.47-.34-.88-.34-.53 0-.9.16-1.16.48-.25.3-.38.85-.38 1.6v2.94h-1.26V4.8h1.26v2.12c0 .34-.02.7-.06 1.1h.08a1.76 1.76 0 0 1 .72-.67c.3-.16.66-.24 1.07-.24 1.43 0 2.15.74 2.15 2.2v3.86zM42.2 7.1c.74 0 1.32.28 1.73.82.4.53.62 1.3.62 2.26 0 .97-.2 1.73-.63 2.27-.42.54-1 .82-1.75.82s-1.33-.27-1.75-.8h-.08l-.23.7h-.94V4.8h1.26v2l-.02.64-.03.56h.05c.4-.6 1-.9 1.78-.9zm-.33 1.04c-.5 0-.88.15-1.1.45-.22.3-.34.8-.35 1.5v.08c0 .72.12 1.24.35 1.57.23.32.6.48 1.12.48.44 0 .78-.17 1-.53.24-.35.36-.87.36-1.53 0-1.35-.47-2.03-1.4-2.03zm3.24-.92h1.4l1.2 3.37c.18.47.3.92.36 1.34h.04l.18-.72 1.37-4H51l-2.53 6.73c-.46 1.23-1.23 1.85-2.3 1.85-.3 0-.56-.03-.83-.1v-1c.2.05.4.08.65.08.6 0 1.03-.36 1.28-1.06l.22-.56-2.4-5.94z"/></g></svg>');background-repeat:no-repeat;background-position:50%;background-size:100%;overflow:hidden;text-indent:-9000px;width:110px;height:100%;display:block;margin-left:auto;margin-right:5px}</style><meta name="generator" content="Gatsby 2.32.13"/><style type="text/css">
.anchor.before {
position: absolute;
top: 0;
left: 0;
transform: translateX(-100%);
padding-right: 4px;
}
.anchor.after {
display: inline-block;
padding-left: 4px;
}
h1 .anchor svg,
h2 .anchor svg,
h3 .anchor svg,
h4 .anchor svg,
h5 .anchor svg,
h6 .anchor svg {
visibility: hidden;
}
h1:hover .anchor svg,
h2:hover .anchor svg,
h3:hover .anchor svg,
h4:hover .anchor svg,
h5:hover .anchor svg,
h6:hover .anchor svg,
h1 .anchor:focus svg,
h2 .anchor:focus svg,
h3 .anchor:focus svg,
h4 .anchor:focus svg,
h5 .anchor:focus svg,
h6 .anchor:focus svg {
visibility: visible;
}
</style><script>
document.addEventListener("DOMContentLoaded", function(event) {
var hash = window.decodeURI(location.hash.replace('#', ''))
if (hash !== '') {
var element = document.getElementById(hash)
if (element) {
var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
var clientTop = document.documentElement.clientTop || document.body.clientTop || 0
var offset = element.getBoundingClientRect().top + scrollTop - clientTop
// Wait for the browser to finish rendering before scrolling.
setTimeout((function() {
window.scrollTo(0, offset - 0)
}), 0)
}
}
})
</script><style data-styled="gyphcv gNLVAN gOrJcT jVGkyu hawBpy jAfsTr kTQsnG etjCag" data-styled-version="4.4.1">
/* sc-component-id: DocSearch__Form-sc-qvs5fz-0 */
.jVGkyu{margin-bottom:24px;}
/* sc-component-id: DocSearch__Input-sc-qvs5fz-1 */
.hawBpy{border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:16px;color:#fff;width:300px;height:32px;border-radius:4px;padding:8px 8px 8px 32px;background-image:url(data:image/svg+xml;base64,PHN2ZwogIGFsdD0iU2VhcmNoIgogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIK%0D%0AICB2aWV3Qm94PSIwIDAgMTYgMTYiCj4KICA8cGF0aAogICAgZD0iCiAgICAgIE02LjAyOTQ1LDEw%0D%0ALjIwMzI3YTQuMTczODIsNC4xNzM4MiwwLDEsMSw0LjE3MzgyLTQuMTczODJBNC4xNTYwOSw0LjE1%0D%0ANjA5LAogICAgICAwLDAsMSw2LjAyOTQ1LDEwLjIwMzI3Wm05LjY5MTk1LDQuMjE5OUwxMC44OTg5%0D%0ALDkuNTk5NzlBNS44ODAyMSw1Ljg4MDIxLAogICAgICAwLDAsMCwxMi4wNTgsNi4wMjg1Niw2LjAw%0D%0ANDY3LDYuMDA0NjcsMCwxLDAsOS41OTk3OSwxMC44OTg5bDQuODIzMzgsCiAgICAgIDQuODIzMzhh%0D%0ALjg5NzI5Ljg5NzI5LDAsMCwwLDEuMjk5MTIsMCwuODk3NDkuODk3NDksMCwwLDAtLjAwMDg3LTEu%0D%0AMjk5MDlaIgogICAgZmlsbD0iI2ZmZmZmZiIKICAvPgo8L3N2Zz4=);background-size:16px 16px;background-repeat:no-repeat;background-position-y:center;background-position-x:8px;background-color:rgba(0,0,0,0.2);} .hawBpy:focus{outline:none;}
/* sc-component-id: Header__Wrap-sc-75xirx-0 */
.gNLVAN{background:teal;min-height:80px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}
/* sc-component-id: Header-sc-75xirx-1 */
.gOrJcT{margin-bottom:24px;} .gOrJcT a{color:#fff;-webkit-text-decoration:none;text-decoration:none;} .gOrJcT a:hover{color:#77f0f0;}
/* sc-component-id: Footer-sc-4dc8xa-0 */
.etjCag{width:100%;height:70px;} .etjCag nav{background:#333;min-height:70px;color:#fff;} .etjCag nav a{color:#14877e;-webkit-text-decoration:none;text-decoration:none;} .etjCag nav a:hover{-webkit-text-decoration:underline;text-decoration:underline;} .etjCag p{line-height:1.9;padding:40px;text-align:center;font-size:13px;margin-top:0;}
/* sc-component-id: Layout__Wrap-sc-74hz2d-0 */
.gyphcv{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}
/* sc-component-id: blog-post__Title-sc-1e41lke-0 */
.kTQsnG{font-family:'Crete Round',Georgia,Times New Roman,serif;font-size:24px;color:#e5533c;margin-top:0;text-align:center;}
/* sc-component-id: blog-post__Wrap-sc-1e41lke-1 */
.jAfsTr{width:100%;background:#f5f5f5;} .jAfsTr .book-wrapper{width:100%;max-width:1000px;padding:40px 16px 60px;margin:0 auto;background:#fff;} .jAfsTr blockquote{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b;padding:15px 30px;margin:0;margin-bottom:20px;border:1px solid rgba(0,0,0,0);border-radius:4px;} .jAfsTr blockquote h4{text-align:center;margin:0;} .jAfsTr .contents-wrapper{background:#f5f5f5;padding:30px 0;} .jAfsTr .chapter-contents{width:100%;max-width:800px;margin:0 auto;font-family:'ProximaNova','Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:300;-webkit-letter-spacing:0.3px;-moz-letter-spacing:0.3px;-ms-letter-spacing:0.3px;letter-spacing:0.3px;line-height:36px;font-size:16px;} .jAfsTr .chapter-contents h1{font-family:'Crete Round',Georgia,Times New Roman,serif;font-size:24px;color:#e5533c;margin-top:0;text-align:center;} .jAfsTr .chapter-contents h2{font-family:'Crete Round',Georgia,Times New Roman,serif;font-size:18px;color:#14877e;} .jAfsTr .chapter-contents a{color:#14877e;-webkit-text-decoration:none;text-decoration:none;border-bottom:1px dotted #1bbfb1;} .jAfsTr .book-wrapper img{display:block;max-width:700px;margin:20px auto;width:100%;} .jAfsTr .book-wrapper img[alt='certificates']{display:block;width:291px;} .jAfsTr:not(pre) > code[class*='language-'],.jAfsTr pre{background:#f5f5f5;} .jAfsTr pre{padding:1em;margin:0.5em 0;overflow:auto;} .jAfsTr code[class*='language-'],.jAfsTr pre{color:#000;text-shadow:0 1px #fff;font-size:14px;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:26px;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;} .jAfsTr .chapter-contents pre{color:#767676;border:1px solid #dcdcdc;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;} .jAfsTr .chapter-contents p > code,.jAfsTr .chapter-contents ul > code,.jAfsTr .chapter-contents ol > code,.jAfsTr .chapter-contents li > code{padding-right:4px;padding-left:4px;padding-top:2px;padding-bottom:2px;background-color:#f5f5f5;color:#14877e;border-radius:4px;font-size:15px;}</style><title data-react-helmet="true">浏览器中使用 GitHub</title><link as="script" rel="preload" href="/webpack-runtime-6d5d43391d798a08cb1d.js"/><link as="script" rel="preload" href="/framework-d585a04b7d285a7760d6.js"/><link as="script" rel="preload" href="/app-53297de6fe45b94e19e4.js"/><link as="script" rel="preload" href="/styles-e9d24b1846c7d6eb9685.js"/><link as="script" rel="preload" href="/commons-3feee98700f3ba0cdb22.js"/><link as="script" rel="preload" href="/component---src-templates-blog-post-js-795d606d338983cb4fc4.js"/><link as="fetch" rel="preload" href="/page-data/github_in_browser.html/page-data.json" crossorigin="anonymous"/><link as="fetch" rel="preload" href="/page-data/app-data.json" crossorigin="anonymous"/></head><body><noscript id="gatsby-noscript">This app works best with JavaScript enabled.</noscript><div id="___gatsby"><div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper"><div class="Layout__Wrap-sc-74hz2d-0 gyphcv"><div class="Header__Wrap-sc-75xirx-0 gNLVAN"><h2 class="Header-sc-75xirx-1 gOrJcT"><a href="/">Git 北京</a></h2><form class="DocSearch__Form-sc-qvs5fz-0 jVGkyu"><input type="search" id="algolia-doc-search" placeholder="Search docs" class="DocSearch__Input-sc-qvs5fz-1 hawBpy"/></form></div><div class="blog-post__Wrap-sc-1e41lke-1 jAfsTr"><div class="book-wrapper"><div class="blog-post__Title-sc-1e41lke-0 kTQsnG">浏览器中使用 GitHub</div><div class="chapter-contents"><br/><div><p>今天 Peter 来带你做一件曾经改变我生活的事情,就是注册并使用 github.com 。不会用 git ,就不能用 github 吗? 不是这样的。Github 的网站上通过网页操作就已经能实现很多强大的版本控制功能了,来一起看一看。</p>
<h2 id="故事从注册开始" style="position:relative;"><a href="#%E6%95%85%E4%BA%8B%E4%BB%8E%E6%B3%A8%E5%86%8C%E5%BC%80%E5%A7%8B" aria-label="故事从注册开始 permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>故事从注册开始</h2>
<p>来到 <a href="http://github.com">http://github.com</a> 的首页,点一下 Signup 按钮,就可以看到注册界面。</p>
<p>填写自己的用户名邮箱,再设置一个妥妥的密码,点击 <code>Create an account</code> 按钮,世界就属于你了。</p>
<p>好,下面的操作就假设你已经注册完毕,并登录进来了。</p>
<h2 id="创建仓库" style="position:relative;"><a href="#%E5%88%9B%E5%BB%BA%E4%BB%93%E5%BA%93" aria-label="创建仓库 permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>创建仓库</h2>
<p>Github 上操作虽多,但是都是围绕一个个的项目展开的。但是项目在 Github 这里通常叫做一个仓库。</p>
<p>一个项目其实就是一个文件夹,里面放着所有的项目文件,可以是代码,也可以是任意的文档。但是在 Github 这里,每一个项目都不仅仅是最新版本的代码,还保持着所有的历史版本和修改记录。Github 上的项目有一个新名称,叫 ”仓库“ ( Repository )。说白了,一个仓库就是一个用 Git 进行了版本控制的项目。注意 Git 是一个独立软件,是一个版本控制工具,而 Github 是一个网站,二者要区分开。</p>
<p>登录后再到首页,看到的就不是欢迎界面了,而是 dashboard (控制面板)。</p>
<p><img src="https://happypeter.github.io/images/2018102401.jpg"></p>
<p>这里可以看到一个非常醒目的新建仓库的按钮。猛戳一下,就到达了新建仓库页面。</p>
<p><img src="https://happypeter.github.io/images/2018102402.jpg"></p>
<p>注意要勾选 Initialize this repository with a README ,然后创建这个项目,这样新仓库中就会添加一个 README 文件了。这里也会看到在 Create Repository (创建仓库)按钮的上方还有两个选择框,一个是关于 .gitignore 的,另一个是关于 LICENSE 的。这两项如果选择了就是在项目中又多了两个文本文件,一个是 .gitignore 文件,另一个是 LICENSE 文件,暂时都不选就可以,回头需要了可以自己用编辑器新建。</p>
<p>点创建仓库按钮,项目仓库就创建成功了。</p>
<h2 id="编辑项目" style="position:relative;"><a href="#%E7%BC%96%E8%BE%91%E9%A1%B9%E7%9B%AE" aria-label="编辑项目 permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>编辑项目</h2>
<p>创建项目完成后,就会跳转到 <a href="https://github.com/happypeter/toy-project">https://github.com/happypeter/toy-project</a> 这个页面。这里的几乎每一个可以点的地方都会涉及到一个新概念,不用着急,咱们一点点的学。先来瞄准一个最为重要的,叫 commit 。</p>
<p><img src="https://happypeter.github.io/images/2018102403.jpg"></p>
<p>每次项目修改后,点击 commit 按钮就可以生成一个新的版本。commit 英文意思是”执行某个重要的操作“,例如 commit suicide,自我了断。但是在 git 这里,做动词讲的时候,意思是保存版本,当名词讲就是版本的意思。</p>
<p>现在就来编辑一下。点击界面上 Create new file 按钮,来创建一个新文件。</p>
<p><img src="https://happypeter.github.io/images/2018102404.jpg"></p>
<p>新建一个文件叫 love.md。填写文件名和文件内容。</p>
<p><img src="https://happypeter.github.io/images/2018102405.jpg"></p>
<p>下面 Commit new file 部分填写的是“版本留言”( Commit message ),说明一下为什么要做这次修改,一方面这是跟队友沟通的一种形式,另一方面如果项目版本多了,这个留言也相当于自己的笔记。上面填写一个一行的留言,下面还可以写详细留言,不过详细留言这一项是可选的。最后,点击 Commit new file ,也就是”把这个文件做到版本中“,按钮,一个新版本就做好了。</p>
<p><img src="https://happypeter.github.io/images/2018102406.jpg"></p>
<p>这样,一次项目编辑工作就结束了,不但是做了文件修改,而且也新添加了一个版本。</p>
<h2 id="一条历史线" style="position:relative;"><a href="#%E4%B8%80%E6%9D%A1%E5%8E%86%E5%8F%B2%E7%BA%BF" aria-label="一条历史线 permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>一条历史线</h2>
<p>所有的版本就构成了”项目历史线“( Project History )。这是一条由很多版本串起来的线。</p>
<p>刚才的编辑操作进行完毕,自动跳转回项目页面之后,会发现原来 1 commit 的地方,现在已经变成 2 commits 。</p>
<p><img src="https://happypeter.github.io/images/2018102407.jpg"></p>
<p>2 commits 是个链接,点进入就进入了项目历史界面,看到的就是项目历史线了,可以看到历史线上已经有了两个版本。</p>
<p><img src="https://happypeter.github.io/images/2018102408.jpg"></p>
<p>点开历史线上的最新一个版本,可以看到这个版本的详细情况。一个版本中最核心的内容就是这 4 个 w 了,谁( who )在什么时间( when )改了那些内容( what ),最后一个是为什么要改( why ),这个是版本留言发挥的作用。</p>
<p><img src="https://happypeter.github.io/images/2018102409.jpg"></p>
<p>这里还可以看到当前版本号( commit id ),同时还显示了它之前的一个 commit 的版本号,也就是它的“父版本”( parent )的版本号。</p>
<p><img src="https://happypeter.github.io/images/2018102410.jpg"></p>
<p>底层原理是这样,一个 commit 内部是保存了它的 parent 的版本号的,这样就把它和它爹连在了一起,爹还有自己的爹,就会形成下图的一条历史线。</p>
<p><img src="https://happypeter.github.io/images/2018102411.jpg"></p>
<p>有些版本工具是以 1,2,3… 作为版本号的,但是 Git 这里每个版本号都是 40 位十六进制数,当然有时候可以采用简写形式,取前几位来代表整个的版本号。这样的长长的版本号,表面看起来稍微麻烦一些,但是实际上妙用无穷,这里我们暂时不展开了。</p>
<p>好,对项目历史线的介绍就是这些了。</p>
<h2 id="总结" style="position:relative;"><a href="#%E6%80%BB%E7%BB%93" aria-label="总结 permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>总结</h2>
<p>本节的主体内容也就结束了,来总结一下。这就是 Peter 对如何通过网页的形式使用 Github 的一个简单介绍。动手方面,我们学习了,注册 Github 账户,创建新项目仓库以及编辑项目。理论方面,我们理解了什么是仓库,什么是版本,版本是如何连接成历史线的。最后,要稍微提一下,其实老手使用 Git 和 Github 的时候,通常都是在自己机器上编辑项目,然后通过命令行来上传到 Github.com ,网页界面上直接进行编辑操作的情况并不是主要操作形式。</p></div></div></div></div><footer class="Footer-sc-4dc8xa-0 etjCag"><nav><p>有任何问题请联系<a href="https://github.com/happypeter"> happypeter</a> : [email protected] <br/> 所有内容基于<!-- --> <a href="https://creativecommons.org/licenses/by/4.0/">允许商用保留署名的 CC 协议</a> <!-- -->发布</p></nav></footer></div></div><div id="gatsby-announcer" style="position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0" aria-live="assertive" aria-atomic="true"></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/github_in_browser.html";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"polyfill":["/polyfill-79abd7c50267fa169289.js"],"app":["/app-53297de6fe45b94e19e4.js"],"component---src-pages-index-js":["/component---src-pages-index-js-99193552b849bd929f2a.js"],"component---src-templates-blog-post-js":["/component---src-templates-blog-post-js-795d606d338983cb4fc4.js"]};/*]]>*/</script><script src="/polyfill-79abd7c50267fa169289.js" nomodule=""></script><script src="/component---src-templates-blog-post-js-795d606d338983cb4fc4.js" async=""></script><script src="/commons-3feee98700f3ba0cdb22.js" async=""></script><script src="/styles-e9d24b1846c7d6eb9685.js" async=""></script><script src="/app-53297de6fe45b94e19e4.js" async=""></script><script src="/framework-d585a04b7d285a7760d6.js" async=""></script><script src="/webpack-runtime-6d5d43391d798a08cb1d.js" async=""></script><script src="//cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script></body></html>