1 00:00:00,000 --> 00:00:05,520 2 00:00:05,520 --> 00:00:08,170 >> ANNA WHITNEY: Kaya ako pupunta makipag-usap tungkol sa kung paano gamitin Git, 3 00:00:08,170 --> 00:00:10,480 at kung bakit dapat mong pag-aalaga. 4 00:00:10,480 --> 00:00:13,790 Git ay isang bersyon ng control tool. 5 00:00:13,790 --> 00:00:17,810 Ikaw ay malamang na pamilyar sa isang bagay tulad ng Google Docs o Dropbox, 6 00:00:17,810 --> 00:00:23,190 iba pang mga bagay na daan sa iyong magbahagi ng mga bersyon ng mga bagay at subaybayan ang mga pagbabago 7 00:00:23,190 --> 00:00:25,315 na iyong ginawa sa iba't-ibang mga dokumento. 8 00:00:25,315 --> 00:00:27,890 Ang mga bagay tungkol GitHub ay na ito ay na-optimize para code 9 00:00:27,890 --> 00:00:33,580 at ito ay nagbibigay sa iyo ng isang malaking halaga ng kontrol sa kung ano mismo ang mga pagbabago 10 00:00:33,580 --> 00:00:38,150 panatilihin sa iyo at kung ano ang mga pagbabago sa iyo mapupuksa ng at na ang mga pagbabago na iyong isama. 11 00:00:38,150 --> 00:00:42,840 Kaya na ang malaking dahilan kung bakit sa bakit gusto mo nais na gumamit ng Git. 12 00:00:42,840 --> 00:00:46,980 >> Dahil hindi ka maaaring talagang code napakahusay sa Google Docs. 13 00:00:46,980 --> 00:00:50,850 Ikaw ay limitado sa na interface. 14 00:00:50,850 --> 00:00:54,920 Ito ay isang maliit na bit mas mahirap na magsama-sama, tulad ng OK, ang isang tao 15 00:00:54,920 --> 00:00:57,870 ginawa ang pagbabagong ito at ang isang tao ibang tao na ginawa ito ng iba pang mga pagbabago. 16 00:00:57,870 --> 00:01:00,470 At gusto mong panatilihin ang mga unang kalahati ng mga unang pagbabago 17 00:01:00,470 --> 00:01:05,269 at ang ikalawang kalahati ng ikalawang pagbabago at magkaroon ng lahat ng iba pa manatiling pareho. 18 00:01:05,269 --> 00:01:10,820 Git hinahayaan kang gawin ang mga mga bagay na lubhang tumpak. 19 00:01:10,820 --> 00:01:17,500 At kaya kung ikaw ay nagtatrabaho sa software, ito ay medyo pangkaraniwan na gamitin Git sa trabaho. 20 00:01:17,500 --> 00:01:22,210 >> At ito ay medyo marami ang mga pinakamahusay na paraan gawin pakikipagtulungan sa software. 21 00:01:22,210 --> 00:01:25,180 May ilang iba pang mga control na bersyon mga kasangkapan na maaari mong gamitin sa halip, 22 00:01:25,180 --> 00:01:27,221 ngunit may isang bagay na tulad nito ay magiging kinakailangan. 23 00:01:27,221 --> 00:01:29,130 Dahil muli, Google Docs ay hindi tunay 24 00:01:29,130 --> 00:01:35,210 hiwa ito kapag sinusubukan mong isulat ang code samang sa iba pang mga programmers. 25 00:01:35,210 --> 00:01:38,975 Nagkaroon kami ito kamakailang XKCD na noon ay medyo may-katuturan. 26 00:01:38,975 --> 00:01:42,050 27 00:01:42,050 --> 00:01:46,390 Kaya sana sa pagtatapos ng pagtatanghal na ito, 28 00:01:46,390 --> 00:01:51,022 ito ay clear-- isang maliit na piraso clearer-- hindi lamang ng isang listahan ng mga utos 29 00:01:51,022 --> 00:01:53,730 na maaari mong patakbuhin upang makakuha ng lahat ng bagay sa trabaho, ngunit ang isang maliit na kaunti pang 30 00:01:53,730 --> 00:01:58,950 ng mga makatwirang paliwanag sa likod kung bakit ang mga utos sa trabaho. 31 00:01:58,950 --> 00:02:02,400 >> Kaya sabihin tumalon sa kung paano talaga naming gamitin Git. 32 00:02:02,400 --> 00:02:07,920 At talagang, pupuntahan ko sa madaling sabi pop sa paglipas dito. 33 00:02:07,920 --> 00:02:16,720 Kung mayroon kang ang iyong laptop, na nais mong bunutin ito at buksan ang CS50 IDE. 34 00:02:16,720 --> 00:02:18,780 Halos Kami ay pagpunta sa maging nagtatrabaho sa mga terminal, 35 00:02:18,780 --> 00:02:21,520 hindi masyado, makikita namin lamang maging paggawa ng isang maliit na piraso sa mga file. 36 00:02:21,520 --> 00:02:26,100 Kaya kung ano ang iyong pagpunta sa gusto na gawin, lamang upang makakuha ng i-set up dito, 37 00:02:26,100 --> 00:02:37,390 ay una mong pagpunta upang buksan ang iyong SSH key file-- ang file pampublikong key. 38 00:02:37,390 --> 00:02:43,020 >> Hindi ko alam kung nag-uusapang Sobra tungkol SSH key, ngunit kung ano ang nais mong gawin 39 00:02:43,020 --> 00:02:44,250 ito ba. 40 00:02:44,250 --> 00:02:45,220 SIGE? 41 00:02:45,220 --> 00:02:49,749 At ito ay pop up na ito mahabang string ng mga character, 42 00:02:49,749 --> 00:02:51,040 at gusto mo lamang upang kopyahin ang mga ito. 43 00:02:51,040 --> 00:02:59,230 44 00:02:59,230 --> 00:03:00,350 Kopyahin ang buong bagay. 45 00:03:00,350 --> 00:03:01,730 Gawin lamang na. 46 00:03:01,730 --> 00:03:10,810 At pagkatapos ay kung ikaw ay pupunta sa iyong profile sa GitHub, maaari kang pumunta sa I-edit ang Profile, 47 00:03:10,810 --> 00:03:14,620 at pagkatapos ay sa ilalim ng SSH key, ikaw ay pagpunta sa magdagdag ng isang SSH key. 48 00:03:14,620 --> 00:03:20,030 49 00:03:20,030 --> 00:03:23,220 At maaari mong title ito CS50 IDE. 50 00:03:23,220 --> 00:03:26,760 51 00:03:26,760 --> 00:03:28,070 Ba na magkaroon ng kahulugan? 52 00:03:28,070 --> 00:03:30,800 Ang ibig lahat makakuha step na? 53 00:03:30,800 --> 00:03:36,350 >> Ito ay upang lamang na pagkatapos ay kapag kami ay gumagamit ng mga repository sa IDE, 54 00:03:36,350 --> 00:03:39,630 maaari naming direkta at hindi ma-access magkaroon mag-alala tungkol sa pag-type sa aming password 55 00:03:39,630 --> 00:03:41,850 ng lahat ng oras na ginagamit namin ito. 56 00:03:41,850 --> 00:03:42,730 SIGE. 57 00:03:42,730 --> 00:03:44,470 Kaya ngayon kami malapit na. 58 00:03:44,470 --> 00:03:48,680 59 00:03:48,680 --> 00:03:53,120 Kung nais ni sinumang iba pa sa akin si ang mga ito sa GitHub repository, 60 00:03:53,120 --> 00:03:56,650 kung nakuha mo lang dito, ang magagawa ko na ngayon. 61 00:03:56,650 --> 00:04:00,860 Kung mayroon kang isang GitHub account at ikaw hindi sinabi sa akin ang iyong GitHub username, 62 00:04:00,860 --> 00:04:01,695 na ngayon ang panahon. 63 00:04:01,695 --> 00:04:05,578 64 00:04:05,578 --> 00:04:07,560 Walang sinuman? 65 00:04:07,560 --> 00:04:08,610 SIGE. 66 00:04:08,610 --> 00:04:10,320 Pagkatapos ako ay patuloy pa. 67 00:04:10,320 --> 00:04:11,610 >> Lahat tama. 68 00:04:11,610 --> 00:04:16,190 Kaya ipaalam sa unang makipag-usap tungkol sa kung paano gumagana ang isang lalagyan. 69 00:04:16,190 --> 00:04:18,649 Mayroon kang remote pampublikong repository. 70 00:04:18,649 --> 00:04:21,640 Ito ay kung ano ako ay lamang na nagpapakita sa iyo sa GitHub. 71 00:04:21,640 --> 00:04:23,300 Lumikha ako ng isang sisidlan. 72 00:04:23,300 --> 00:04:26,840 Ito ay naka-host sa isang lugar sa GitHub servers. 73 00:04:26,840 --> 00:04:29,760 At nito publiko, kahit sino ay maaaring makita ito. 74 00:04:29,760 --> 00:04:31,530 Pagkatapos ay kung ano kami ay pagpunta gawin ay kami ay pagpunta 75 00:04:31,530 --> 00:04:37,810 upang lumikha ng isang lokal na pribadong bersyon ng mga ito sa aming mga indibidwal na mga computer. 76 00:04:37,810 --> 00:04:41,240 At sa katunayan, maaari kang magkaroon ng marami sa mga na ang lahat 77 00:04:41,240 --> 00:04:45,770 tumuturo sa parehong pampublikong repository. 78 00:04:45,770 --> 00:04:49,230 >> At sa katunayan ito ay posible rin na magkaroon ng maramihang mga pampublikong repositoryo 79 00:04:49,230 --> 00:04:51,480 na gusto mo, makakakuha ka ng ilang impormasyon mula dito 80 00:04:51,480 --> 00:04:52,300 at ilang impormasyon mula sa dito. 81 00:04:52,300 --> 00:04:55,510 Ngunit na malamang na hindi maging may-katuturan para sa iyong huling proyekto o anuman. 82 00:04:55,510 --> 00:04:58,310 Kaya hindi ako pagpunta sa pumunta sa na ngayon. 83 00:04:58,310 --> 00:05:02,700 Subalit kaya kung paano mo makuha mula sa pagkakaroon ito remote pampublikong imbakan sa aktwal 84 00:05:02,700 --> 00:05:04,370 nagkakaroon ng mga lokal na kopya? 85 00:05:04,370 --> 00:05:09,630 Gumamit ka ng isang command na tinatawag git clone, na literal ay nangangahulugan lamang gumawa ng kopya, 86 00:05:09,630 --> 00:05:11,660 tulad ng tunog tulad. 87 00:05:11,660 --> 00:05:22,110 >> At kaya kung ano ang iyong pagpunta sa gawin ay pumunta sa pahina ng repository sa GitHub. 88 00:05:22,110 --> 00:05:24,740 Ikaw ay pagpunta upang kopyahin ang mga clone URL, ang SSH clone 89 00:05:24,740 --> 00:05:26,540 URL, dahil set up lang namin SSH key. 90 00:05:26,540 --> 00:05:32,740 Kung wala kang mga ito, maaari mong i-click ang sa halip sa HTTPS at maaari mong gamitin iyon. 91 00:05:32,740 --> 00:05:39,040 At pagkatapos in dito, sa iyong workspace directory, bagong git clone, at pagkatapos ay 92 00:05:39,040 --> 00:05:41,160 i-paste. 93 00:05:41,160 --> 00:05:45,980 Kapag humihiling sa iyo kung nais mong upang panatilihin ang paggawa nito, at sabihin ninyo ang oo. 94 00:05:45,980 --> 00:05:49,280 >> At ngayon, kung makikita mo, mayroong isang direktoryo 95 00:05:49,280 --> 00:05:52,090 na may pangalan ng taguan, kung paano at bakit, para sa seminar. 96 00:05:52,090 --> 00:05:55,050 97 00:05:55,050 --> 00:06:00,010 At kung ang listahan namin ang file sa dito, maaari mong 98 00:06:00,010 --> 00:06:03,670 makita na ang mga ito ay ang parehong mga file na nakalista sa pahina ng web. 99 00:06:03,670 --> 00:06:07,220 100 00:06:07,220 --> 00:06:11,287 Kaya ngayon ay mayroon ka ng isang lokal na kopya ng repository. 101 00:06:11,287 --> 00:06:13,370 Ipagpalagay natin na nais mong tunay na gumawa ng mga pagbabago dito. 102 00:06:13,370 --> 00:06:17,900 Ang lahat ng iyong mga pagbabago sa Git ay stored-- tulad ng mga pangunahing yunit 103 00:06:17,900 --> 00:06:19,340 ay tinatawag na isang gumawa. 104 00:06:19,340 --> 00:06:23,980 Isang ipasok lamang ang isang tipak ng trabaho na kayo magkasama, 105 00:06:23,980 --> 00:06:29,430 at iyong sinabi sa GitHub, gusto kong i-save ito bilang, ako ng pag-save ko ang aking trabaho, 106 00:06:29,430 --> 00:06:30,580 mahalagang. 107 00:06:30,580 --> 00:06:35,870 >> At ito ay kinilala sa pamamagitan ng kung ano ang tinatawag na isang gumawa hash, na 108 00:06:35,870 --> 00:06:37,250 ay talaga lamang ng isang natatanging ID. 109 00:06:37,250 --> 00:06:40,570 Ngunit ang paraan na ito ay nakabuo ng ay talagang, GitHub 110 00:06:40,570 --> 00:06:44,800 ay may ilang mga format ng mga tulad ng uulat ng lahat ng mga pagbabago na 111 00:06:44,800 --> 00:06:49,680 talagang nagpunta sa na gumawa, at pagkatapos ay ito hash na talaan ng mga pagbabago. 112 00:06:49,680 --> 00:06:52,900 Kaya ang gumawa ng hash aktwal na nagsasabi iyo kung ano ang nangyari sa na gumawa, 113 00:06:52,900 --> 00:06:54,710 ano ang mga pagbabago na ginawa mo. 114 00:06:54,710 --> 00:07:01,660 >> Kaya ang gagawin ng isang gumawa, sabihin pumunta sa dito at kung ikaw lamang 115 00:07:01,660 --> 00:07:07,750 buksan ang file, names.txt, na maaari mong gawin mula sa command line 116 00:07:07,750 --> 00:07:14,490 may opennames.txt, at ito ay pop up up dito. 117 00:07:14,490 --> 00:07:15,860 Pagkatapos ay maaari mong idagdag ang iyong pangalan. 118 00:07:15,860 --> 00:07:19,670 119 00:07:19,670 --> 00:07:20,800 At pagkatapos ay i-save ito. 120 00:07:20,800 --> 00:07:25,980 121 00:07:25,980 --> 00:07:41,720 At ngayon, kung nag-type ka git katayuan, maaari mong makita ang 122 00:07:41,720 --> 00:07:45,840 na ang filenames.txt ay nabago. 123 00:07:45,840 --> 00:07:48,130 Kaya alam ng Git na ginawa mo sa isang pagbabago. 124 00:07:48,130 --> 00:07:50,220 Wala ang nai pa nagawa. 125 00:07:50,220 --> 00:07:54,936 >> Kaya upang sabihin sa Git, ito ay isang file na may pagbabago sa loob nito 126 00:07:54,936 --> 00:07:57,310 na gusto ko sa iyo sa tunay na i-save, gawin mo gitaddnames.txt. 127 00:07:57,310 --> 00:08:02,210 128 00:08:02,210 --> 00:08:06,420 At ngayon kung gagawin mo status git, bibigyan ka makita na ito ay hindi pa rin nakatuon. 129 00:08:06,420 --> 00:08:10,240 Ngunit ngayon alam na ito ay isang palitan na nais mong gumawa. 130 00:08:10,240 --> 00:08:14,040 Talaga kung ano ang nangyayari ay mayroon ka sa iyong direktoryo ng pagtatrabaho, 131 00:08:14,040 --> 00:08:18,480 at Git ay may isang index ng kung ano ang ang nangyari sa mga nagtatrabaho direktoryo na 132 00:08:18,480 --> 00:08:19,980 Handa nang ginawa. 133 00:08:19,980 --> 00:08:22,960 At kaya kapag gumawa ka ng mga pagbabago, na ang mga ito sa iyong direktoryo ng pagtatrabaho. 134 00:08:22,960 --> 00:08:24,090 Ang mga ito sa iyong computer. 135 00:08:24,090 --> 00:08:26,630 Ngunit hindi sila ay ilagay sa index na pa. 136 00:08:26,630 --> 00:08:31,016 >> At kaya kapag ginagawa namin git add, ito gumagalaw mga bagay-bagay mula sa mga nagtatrabaho direktoryo. 137 00:08:31,016 --> 00:08:32,890 Well, ang mga ito ay pa rin sa ang nagtatrabaho direktoryo. 138 00:08:32,890 --> 00:08:36,080 Ngunit ang lahat ng ito ng mga kopya ng mga mga pagbabago na ito sa index. 139 00:08:36,080 --> 00:08:38,140 At kaya pagkatapos ay kapag ikaw huwag git commit-- saan 140 00:08:38,140 --> 00:08:42,320 ang susunod na bagay hindi namin pagpunta sa do-- ito talaga 141 00:08:42,320 --> 00:08:46,740 nagkakasala ang mga ito at inilalagay ang mga ito sa permanenteng kasaysayan ng iyong mga repository. 142 00:08:46,740 --> 00:08:52,725 At kapag gumawa ka, dapat mong laging maglagay ng isang nagbibigay-kaalaman na gumawa ng mensahe. 143 00:08:52,725 --> 00:09:01,060 144 00:09:01,060 --> 00:09:08,390 >> Kaya ngayon kung gagawin natin ang status git, ito sabi walang upang ipasok ang, 145 00:09:08,390 --> 00:09:13,480 dahil ang lahat ng mga pagbabago na Ginawa ko na ngayon ay nakatuon. 146 00:09:13,480 --> 00:09:20,300 147 00:09:20,300 --> 00:09:26,235 Pupunta ako sa itapon ang mga di-sinasadyang mga pagbabago na ginawa ko na iyon. 148 00:09:26,235 --> 00:09:30,090 Kaya ngayon maaari mong makita, sabihin sinasabi namin mahalagang lamang 149 00:09:30,090 --> 00:09:31,340 ginawa ang purple gumawa, di ba? 150 00:09:31,340 --> 00:09:34,010 Lang kaming nagdadagdag ito sa ang katapusan ng kasaysayan na ito 151 00:09:34,010 --> 00:09:38,690 na dati nang ginawa ko ang mga file, names.txt, kapag ako unang nilikha ito, 152 00:09:38,690 --> 00:09:40,310 marahil na ang orange ipabilanggo. 153 00:09:40,310 --> 00:09:45,620 At kaya pagkatapos na ito gumawa ng hash sa ilalim ng mga lilang diyamante 154 00:09:45,620 --> 00:09:49,180 Gusto paanuman indicate-- hindi sa tao nababasa form-- 155 00:09:49,180 --> 00:09:51,760 ngunit nais paanuman magpahiwatig sa internals GitHub ni 156 00:09:51,760 --> 00:09:56,370 na ginawa namin ito tiyak baguhin sa file names.txt. 157 00:09:56,370 --> 00:10:02,631 >> Kaya ngayon ay mayroon ka ng isang pagbabago sa iyong mga lokal na pribadong bersyon ng repository. 158 00:10:02,631 --> 00:10:04,880 Ngayon mo makita ang napupunta error sa parehong paraan, at malinaw naman ito 159 00:10:04,880 --> 00:10:09,160 hindi magiging lubhang kapaki-pakinabang kung maaari naming lamang kailanman nais 160 00:10:09,160 --> 00:10:11,930 gawin ang mga pagbabago na sa remote repository, 161 00:10:11,930 --> 00:10:14,530 ngunit kami ay walang paraan ng paggawa ng aming sariling mga pagbabago. 162 00:10:14,530 --> 00:10:20,080 Kaya gusto namin upang itulak ang aming mga pagbabago sa remote repository. 163 00:10:20,080 --> 00:10:22,495 Ngunit bago mo itulak ang iyong mga pagbabago sa mga repository, 164 00:10:22,495 --> 00:10:25,550 palagi kang may upang hilahin tiyakin na mayroong 165 00:10:25,550 --> 00:10:33,110 ay hindi nai-anumang mga bagong pagbabago sa panahon mula noong una mong ginawa ang pagbabagong iyon. 166 00:10:33,110 --> 00:10:38,790 >> Kaya ako ng pagpunta sa gawin ang isang git pull, at sinasabi nito na hanggang sa petsa, 167 00:10:38,790 --> 00:10:42,960 dahil siguro wala sa iyo itinulak habang ako ay ginagawa ito. 168 00:10:42,960 --> 00:10:48,320 Ngunit kaya ngayon ang maaari kong gawin git push. 169 00:10:48,320 --> 00:10:55,870 At ngayon, kung pumunta ako dito, maaari ko makita na ang mga pinaka-kamakailang magkasala 170 00:10:55,870 --> 00:10:56,880 ay ang isang ito na ginawa ko. 171 00:10:56,880 --> 00:11:00,100 Ang pagbabagong iyon ay ngayon sa ang remote repository. 172 00:11:00,100 --> 00:11:04,600 Kaya kahit sino na may kanilang mga computer out, sige at idagdag ang iyong pangalan. 173 00:11:04,600 --> 00:11:10,960 Tiyaking upang hilahin bago mo itulak, at pagkatapos itulak sa remote repository. 174 00:11:10,960 --> 00:11:12,660 >> At kaya tayo ay dapat ma upang makita. 175 00:11:12,660 --> 00:11:27,900 176 00:11:27,900 --> 00:11:32,009 Kaya ang dahilan na ang lagi mong nais na pull bago mo itulak 177 00:11:32,009 --> 00:11:34,300 ay dahil kung sinubukan mong itulak at wala ka, at ikaw ay 178 00:11:34,300 --> 00:11:41,910 nawawala ang ilang mangako na sa remote server, ito lang magbibigay sa iyo ng isang error. 179 00:11:41,910 --> 00:11:45,040 Ngunit kung hindi ito ay magbibigay sa iyo ng isang error, ito ay papatungan 180 00:11:45,040 --> 00:11:47,580 kung ano ang nakaraang tao ay itinulak. 181 00:11:47,580 --> 00:11:50,840 At hindi mo nais na mawala ang kanilang mga trabaho. 182 00:11:50,840 --> 00:11:51,840 Kaya sabihin makita. 183 00:11:51,840 --> 00:11:56,460 184 00:11:56,460 --> 00:11:57,764 >> Kahit sino ay tapat na paraan na ito gumagana? 185 00:11:57,764 --> 00:11:58,680 Madla: [hindi marinig]. 186 00:11:58,680 --> 00:12:02,539 187 00:12:02,539 --> 00:12:04,080 ANNA WHITNEY: Ano ang mangyayari kapag you-- 188 00:12:04,080 --> 00:12:05,006 Madla: [hindi marinig]. 189 00:12:05,006 --> 00:12:09,680 190 00:12:09,680 --> 00:12:12,250 >> ANNA WHITNEY: Kaya ikaw ay nagkakaproblema paghila. 191 00:12:12,250 --> 00:12:14,952 Ano ang sinasabi ng mga error kapag sinusubukan mong hilahin? 192 00:12:14,952 --> 00:12:16,365 >> Madla: [hindi marinig]. 193 00:12:16,365 --> 00:12:18,240 ANNA WHITNEY: May walang error kapag ikaw pull. 194 00:12:18,240 --> 00:12:20,536 Hindi nito sinasabi ang anumang bagay kapag ikaw pull? 195 00:12:20,536 --> 00:12:21,462 >> Madla: [hindi marinig]. 196 00:12:21,462 --> 00:12:24,862 197 00:12:24,862 --> 00:12:25,570 ANNA WHITNEY: OK. 198 00:12:25,570 --> 00:12:28,737 Kaya hindi ko alam talaga tungkol sa iyong mga tiyak na kapaligiran 199 00:12:28,737 --> 00:12:29,820 na ikaw ay may karapatan doon. 200 00:12:29,820 --> 00:12:32,589 201 00:12:32,589 --> 00:12:35,005 Subalit kaya kung ano ang error na makakuha ka kapag sinubukan mong itulak? 202 00:12:35,005 --> 00:12:38,130 >> Madla: [hindi marinig]. 203 00:12:38,130 --> 00:12:39,580 >> ANNA WHITNEY: OK. 204 00:12:39,580 --> 00:12:42,650 Subukan git pull pinagmulan master. 205 00:12:42,650 --> 00:12:43,550 Kaya tulad nito. 206 00:12:43,550 --> 00:12:49,764 207 00:12:49,764 --> 00:12:50,720 >> Madla: [hindi marinig]. 208 00:12:50,720 --> 00:12:54,560 209 00:12:54,560 --> 00:12:58,250 >> ANNA WHITNEY: Muli, hindi ko alam kung tunay marami tungkol sa kanyang kapaligiran ng pagbuo 210 00:12:58,250 --> 00:12:59,270 partikular. 211 00:12:59,270 --> 00:13:01,490 Ngunit kapag lamang ako nakapunta pag-type git pull, iyon ang 212 00:13:01,490 --> 00:13:06,100 isang maliit na piraso ng glossing sa paglipas ng exactly-- ay karaniwan mong sabihin, 213 00:13:06,100 --> 00:13:11,680 o baka hindi normal, ngunit maaari mo sabihin sa Git kung saan mismo upang hilahin mula sa. 214 00:13:11,680 --> 00:13:13,497 Kaya kung ano ang remote server upang hilahin mula sa. 215 00:13:13,497 --> 00:13:15,580 Dahil tulad ng sinabi ko, may maaaring higit sa isa, 216 00:13:15,580 --> 00:13:20,190 kahit na hindi karaniwan ay sa mga uri lamang ng bawat practice araw-unlad. 217 00:13:20,190 --> 00:13:24,029 >> At kami ay makipag-usap sa isang nang kaunti tungkol sa mga sanga. 218 00:13:24,029 --> 00:13:25,820 Iyan ay tunay na ang susunod na lugar kami pupunta. 219 00:13:25,820 --> 00:13:29,470 At kaya master ay magiging ang pangalan ng branch. 220 00:13:29,470 --> 00:13:30,310 Ba na tulong? 221 00:13:30,310 --> 00:13:37,060 222 00:13:37,060 --> 00:13:37,560 Hindi? 223 00:13:37,560 --> 00:13:38,476 Still hindi ako nagtatrabaho? 224 00:13:38,476 --> 00:13:41,140 Ay kahit sino pa kayong mga ito gumagana? 225 00:13:41,140 --> 00:13:43,380 SIGE. 226 00:13:43,380 --> 00:13:46,750 Kaya ang maaari kong magpanggap. 227 00:13:46,750 --> 00:13:51,492 Maaari ko bang magpanggap na ako isang dagdag na tao, ngunit ikaw ay 228 00:13:51,492 --> 00:13:53,700 pagpunta sa may upang bigyan ako ng isang pangalawang upang makakuha ng na-set up. 229 00:13:53,700 --> 00:14:16,180 230 00:14:16,180 --> 00:14:19,060 >> Kaya ang ginagawa ko ay hindi ako creating-- ako cloning 231 00:14:19,060 --> 00:14:22,550 ang lalagyan papunta sa aking computer. 232 00:14:22,550 --> 00:14:33,350 Ngunit mayroon kang kong magdagdag ng isa pang hanay ng SSH key upang ang maaari kong gawin iyon. 233 00:14:33,350 --> 00:14:42,400 234 00:14:42,400 --> 00:14:43,580 SIGE. 235 00:14:43,580 --> 00:14:54,106 Kaya ngayon, yes? 236 00:14:54,106 --> 00:14:59,362 >> Madla: Kaya ang berdeng tuldok sa tabi ng ilan sa mga ito, kung ano ang ibig sabihin nito? 237 00:14:59,362 --> 00:15:00,820 ANNA WHITNEY: Sa tabi ng SSH key? 238 00:15:00,820 --> 00:15:03,350 Iyon ay nangangahulugan lamang na ko ginagamit sa mga SSH key kamakailan. 239 00:15:03,350 --> 00:15:14,770 240 00:15:14,770 --> 00:15:16,695 Kaya sabihin gawin ang parehong bagay. 241 00:15:16,695 --> 00:15:27,190 242 00:15:27,190 --> 00:15:27,980 Gumagana ito sa ngayon? 243 00:15:27,980 --> 00:15:29,268 SIGE. 244 00:15:29,268 --> 00:15:30,226 >> Madla: [hindi marinig]. 245 00:15:30,226 --> 00:15:38,369 246 00:15:38,369 --> 00:15:39,165 >> ANNA WHITNEY: OK. 247 00:15:39,165 --> 00:15:42,980 248 00:15:42,980 --> 00:15:52,080 Kaya ngayon kung ako buksan names.txt, Ang dapat kong ma-see-- 249 00:15:52,080 --> 00:15:57,620 kaya ikaw ay nagkaroon na baguhin ang isang conflict. 250 00:15:57,620 --> 00:15:58,120 Lahat tama. 251 00:15:58,120 --> 00:16:08,960 Kaya sabihin lamang magtanggal ng mga ito. 252 00:16:08,960 --> 00:16:11,540 Susubukan naming makipag-usap tungkol merge conflicts sa isang segundo lang, 253 00:16:11,540 --> 00:16:15,280 ngunit ito ay kung bakit palagi kang gusto tiyakin na ang mga pull nagtrabaho 254 00:16:15,280 --> 00:16:17,290 bago subukan mong itulak. 255 00:16:17,290 --> 00:16:25,080 At ayusin ang anumang mga kontrahan bago mo itulak. 256 00:16:25,080 --> 00:16:27,030 SIGE. 257 00:16:27,030 --> 00:16:29,870 >> Subalit kaya narito ang isang halimbawa ng kung ano ang gusto mong gawin pagkatapos. 258 00:16:29,870 --> 00:16:32,690 259 00:16:32,690 --> 00:16:40,270 Kung pupunta ako sa dito, tiyakin na Ako ang pinaka-up sa mga pagbabago ng petsa, 260 00:16:40,270 --> 00:16:47,130 OK, ngayon ako lamang ang pagpunta upang gamitin ito. 261 00:16:47,130 --> 00:16:47,660 Right, OK. 262 00:16:47,660 --> 00:16:49,462 Kaya ginawa ko ang isang pagbabago sa dito. 263 00:16:49,462 --> 00:16:50,420 Mayroon akong mag-ingat. 264 00:16:50,420 --> 00:16:53,380 Mayroon akong upang talagang i-save ito. 265 00:16:53,380 --> 00:17:26,951 Now-- OK. 266 00:17:26,951 --> 00:17:28,700 Kaya may ilang mga kakatwang mga bagay-bagay pagpunta sa dito, 267 00:17:28,700 --> 00:17:30,895 ngunit huwag mag-alala masyadong maraming tungkol sa na. 268 00:17:30,895 --> 00:17:35,790 269 00:17:35,790 --> 00:17:36,890 >> SIGE. 270 00:17:36,890 --> 00:17:52,810 Kaya ngayon kung ako buksan names.txt at idagdag ko muli ang aking pangalan, 271 00:17:52,810 --> 00:17:54,470 ngayon ay maaari kong gawin ang parehong bagay dito. 272 00:17:54,470 --> 00:17:58,210 273 00:17:58,210 --> 00:18:01,520 At mapapansin mo na sa halip ng paggawa ng magdagdag at pagkatapos ay gumawa, 274 00:18:01,520 --> 00:18:06,160 Ako ng paggawa ng mga shortcut ng lamang ang paggawa git gumawa-a at pagkatapos m. 275 00:18:06,160 --> 00:18:08,950 Kung saan, kung mayroon kang isang file na naka existed-- sa ibang salita, 276 00:18:08,950 --> 00:18:12,610 hindi mo nilikha ang isang bagong file-- wala ka tunay na may sa hiwalay idagdag ito. 277 00:18:12,610 --> 00:18:17,070 Maaari mo lang sabihin sa Git, kapag ako magkasala, gusto kong idagdag lamang ang mga ito nang direkta. 278 00:18:17,070 --> 00:18:19,710 Ngunit kung ikaw ay lumikha ng isang bagong file, mayroon ka sa partikular na idagdag ito, 279 00:18:19,710 --> 00:18:22,668 dahil kung hindi man Git hindi susubaybayan ito hanggang partikular sabihin mo ito sa. 280 00:18:22,668 --> 00:18:36,280 281 00:18:36,280 --> 00:18:36,840 Paumanhin? 282 00:18:36,840 --> 00:18:39,790 >> Madla: [hindi marinig]. 283 00:18:39,790 --> 00:18:42,500 >> ANNA WHITNEY: Kaya ang bagay tungkol Git ay na sa order 284 00:18:42,500 --> 00:18:48,360 na magbigay sa iyo kaya magkano na kontrol sa kung ano mismo ang mga pagbabago na iyong ginagamit 285 00:18:48,360 --> 00:18:56,150 at kung alin ang hindi ka, ito ay paminsan-minsan ng isang maliit na 286 00:18:56,150 --> 00:18:58,510 hindi user friendly, na ang dahilan kung bakit ako dito. 287 00:18:58,510 --> 00:19:02,285 Dahil walang isa pangangailangan upang magbigay ng isang pagtatanghal sa kung paano gamitin ang Google Docs. 288 00:19:02,285 --> 00:19:05,320 289 00:19:05,320 --> 00:19:07,120 >> Madla: Ito ay depende sa madla. 290 00:19:07,120 --> 00:19:07,880 >> ANNA WHITNEY: OK. 291 00:19:07,880 --> 00:19:09,630 Walang pangangailangan upang bigyan isang pagtatanghal sa kung paano 292 00:19:09,630 --> 00:19:14,370 upang gamitin ang Google Docs sa isang grupo ng CS50 mga mag-aaral. 293 00:19:14,370 --> 00:19:17,245 Kaya saglit kong nabanggit na sanga. 294 00:19:17,245 --> 00:19:19,370 At sa simula pa lamang, na comic na ako ay nagpakita ng 295 00:19:19,370 --> 00:19:21,650 usapan tungkol sa Git pagkakaroon ng isang modelo tree. 296 00:19:21,650 --> 00:19:29,140 Kaya kung ano ang ibig sabihin nito ay, sabihin natin na ang mga repositoryo, tulad ng paraan ako 297 00:19:29,140 --> 00:19:31,230 Mayroon ito sa ngayon, ay ang pulang linya. 298 00:19:31,230 --> 00:19:34,090 At alam mo, ito ay ginawa up ng isang grupo ng mga gumagawa. 299 00:19:34,090 --> 00:19:37,830 Isipin tulad ng ilang haba kasama na line ay katumbas ng gusto ng isang gumawa. 300 00:19:37,830 --> 00:19:41,340 >> O isang bagay tulad ng, may isang bungkos ng iba't-ibang mga gumagawa doon. 301 00:19:41,340 --> 00:19:44,710 Ay hindi talagang mahalaga kung gaano karaming. 302 00:19:44,710 --> 00:19:49,101 Subalit kaya sabihin natin na ngayon ay mayroon akong isang nagtatrabaho piraso ng software na 303 00:19:49,101 --> 00:19:49,850 sa pagpunta doon. 304 00:19:49,850 --> 00:19:53,490 Sa halip na kumakatawan sa aming maliit na repository na lang para sa pagsubok, 305 00:19:53,490 --> 00:19:56,020 marahil ito ay isang aktwal na proyekto. 306 00:19:56,020 --> 00:19:57,270 Siguro ito ay ang iyong huling proyekto. 307 00:19:57,270 --> 00:20:01,600 Marahil ito ay isang piraso ng software na tulad ng aktwal na ginagamit sa komersyo. 308 00:20:01,600 --> 00:20:05,560 Kapag nais mong magdagdag ng isang bagong tampok na ito, ikaw ay ayaw mong masira ang iyong umiiral na code. 309 00:20:05,560 --> 00:20:08,670 >> Kaya sa halip na paggawa ang mga pagbabagong iyon karapatan 310 00:20:08,670 --> 00:20:14,030 sa gitna ng iyong mga nagtatrabaho code, maaari kang lumikha ng kung ano ang tinatawag na isang branch. 311 00:20:14,030 --> 00:20:18,620 At kung saan ang mga sangay ay nagsisimula, ang lahat ng bagay ay kapareho 312 00:20:18,620 --> 00:20:22,730 sa iyong mga rehiyonal na sangay, na ay tinatawag na master, sa pamamagitan ng default. 313 00:20:22,730 --> 00:20:27,700 At pagkatapos habang nagdadagdag ka ng higit pa nagkakasala, magkaiba sila. 314 00:20:27,700 --> 00:20:30,610 At maaari kang humantong sa pagkakaroon ng mas maraming nagkakasala sa isang sanga kaysa sa iba. 315 00:20:30,610 --> 00:20:35,220 Maaari ka ring magkaroon ng mga sub sanga off ng iba pang mga sanga. 316 00:20:35,220 --> 00:20:42,100 >> At kaya kung nais mong lumikha ng isang sangay, at mga sanga 317 00:20:42,100 --> 00:20:45,220 maaaring local-- ibig sabihin na hindi lang nila sa iyong machine, 318 00:20:45,220 --> 00:20:47,900 ang mga ito ay para lamang sa iyo nang personal nagtatrabaho sa na feature-- 319 00:20:47,900 --> 00:20:50,520 o kung maaari mong itulak ang mga ito sa ang remote repository at ikaw 320 00:20:50,520 --> 00:20:52,550 at ng ibang tao ay maaari makipagtulungan sa na branch, 321 00:20:52,550 --> 00:20:57,190 makipagtulungan sa mga tampok na iyon sa paraan na gagawin mo sa master. 322 00:20:57,190 --> 00:20:59,240 Kaya ngayon ay kasalukuyang ako sa master branch. 323 00:20:59,240 --> 00:21:03,390 IDE ay smart sapat na upang sabihin sa sa akin ay hindi lamang kung ano ang direktoryo ako sa, 324 00:21:03,390 --> 00:21:05,430 ngunit kung ano ang partikular na sangay ako in. 325 00:21:05,430 --> 00:21:10,430 >> Kaya ngayon kung gusto kong lumikha isang bagong sangay, ang command 326 00:21:10,430 --> 00:21:16,190 Medyo unintuitively git b checkout, para sa branch. 327 00:21:16,190 --> 00:21:18,330 At pagkatapos ay ang pangalan na ako gusto upang bigyan ang mga sangay. 328 00:21:18,330 --> 00:21:20,780 Kaya ako ng pagpunta sa gumawa ng isang branch tinatawag Anna branch. 329 00:21:20,780 --> 00:21:22,820 At ngayon sinasabi nito ako sa Anna branch. 330 00:21:22,820 --> 00:21:31,100 At kung ako ay tumingin sa mga mga file, pagkatapos ay makikita mo 331 00:21:31,100 --> 00:21:33,680 makita na ang mga ito ay eksakto ang parehong bilang sila ay. 332 00:21:33,680 --> 00:21:37,340 Hindi ako nagbabago kahit ano sa pamamagitan ng pagpunta sa isang branch. 333 00:21:37,340 --> 00:21:42,430 >> Ngunit ngayon hayaan mo akong sabihin na gusto kong gumawa ng ilang mga pagbabago sa mga sangay na ito. 334 00:21:42,430 --> 00:21:46,147 Kaya ko na ito sa iba pang mga file, loremipsum.txt, 335 00:21:46,147 --> 00:21:48,105 lamang ito ay nakuha ng grupo ng mga walang kuwentang mga salita sa loob nito. 336 00:21:48,105 --> 00:21:52,080 337 00:21:52,080 --> 00:21:59,810 Kaya kung buksan ko ito, sabihin natin na gusto ko upang baguhin ang unang salita sa aking pangalan. 338 00:21:59,810 --> 00:22:01,980 Maaari mong gawin ito sa iyong sariling. 339 00:22:01,980 --> 00:22:04,220 At pagkatapos ay i-save ko ito. 340 00:22:04,220 --> 00:22:06,470 Ngayon ako pagpunta upang isara ito kaya hindi ko panatilihin sinasadyang 341 00:22:06,470 --> 00:22:09,470 ine-edit ang mga file kapag hindi ko ibig sabihin na. 342 00:22:09,470 --> 00:22:14,165 Kaya ngayon maaari kong ipasok ito. 343 00:22:14,165 --> 00:22:30,240 344 00:22:30,240 --> 00:22:31,830 >> At hindi ako pagpunta sa itulak ipasok ito. 345 00:22:31,830 --> 00:22:34,430 Ito ay lamang ang pagpunta sa mga lokal na para sa ngayon. 346 00:22:34,430 --> 00:22:40,620 Dahil sa kasalukuyan, wala pa ang branch sa dito tinatawag branch Anna. 347 00:22:40,620 --> 00:22:41,520 Kaya kong lumikha ng isa. 348 00:22:41,520 --> 00:22:44,650 Kung Nais kong ibahagi ang aking mga trabaho sa Anna sangay sa lahat ng ka guys, 349 00:22:44,650 --> 00:22:51,120 Kaya kong lumikha, maaari ko bang itulak, at Git sabihin sa akin kung paano lumikha ng isang sangay 350 00:22:51,120 --> 00:22:55,730 tinatawag na Anna branch sa ang remote repository. 351 00:22:55,730 --> 00:22:59,130 >> Ngunit kung ikaw ay nagtatrabaho lamang sa isang tampok at naka ka nagtatrabaho ang isa lamang sa mga ito, 352 00:22:59,130 --> 00:23:02,470 ito ay ang iyong katangian, pagkatapos ay walang partikular na dahilan 353 00:23:02,470 --> 00:23:07,500 upang itulak ito sa remote repository. 354 00:23:07,500 --> 00:23:09,290 Maaari itong kumilos bilang isang backup. 355 00:23:09,290 --> 00:23:14,640 Ngunit kung ikaw ay medyo ligtas na ang iyong computer ay hindi pagpunta sa mamatay, 356 00:23:14,640 --> 00:23:17,920 pagkatapos ay may ilang mga pakinabang sa pinapanatili lamang ito sa iyong computer. 357 00:23:17,920 --> 00:23:21,110 Kahit na hindi ko ay pumunta sa mga maliban kung mayroon kaming ilang oras sa dulo. 358 00:23:21,110 --> 00:23:23,620 359 00:23:23,620 --> 00:23:27,480 Kaya ngayon ay mayroon akong isang branch tinatawag na Anna branch. 360 00:23:27,480 --> 00:23:29,015 >> At ipaalam sa lumikha sa akin lamang ng isang file. 361 00:23:29,015 --> 00:23:32,690 362 00:23:32,690 --> 00:23:36,549 Ito ay isang paraan ng paglikha ng isang walang laman file na may isang ibinigay na pangalan sa Unix 363 00:23:36,549 --> 00:23:37,715 lang sa mga katangian ng command. 364 00:23:37,715 --> 00:23:41,290 Kaya ako lamang ang pagpunta sa hawakan ng isang file na tinatawag na Anna. 365 00:23:41,290 --> 00:23:48,820 Ngayon kung I-- at maaari mong makita ang na ang file ay there-- 366 00:23:48,820 --> 00:23:52,090 sinasabi nito na may isang di-nasubaybayang file. 367 00:23:52,090 --> 00:23:54,530 Kaya ngayon ang gagawin ko kailangan mong gawin git add. 368 00:23:54,530 --> 00:23:58,170 369 00:23:58,170 --> 00:24:01,270 At ngayon alam na umiiral ang bagong file. 370 00:24:01,270 --> 00:24:02,190 >> Madla: [hindi marinig]. 371 00:24:02,190 --> 00:24:05,102 372 00:24:05,102 --> 00:24:06,310 ANNA WHITNEY: On Anna branch. 373 00:24:06,310 --> 00:24:06,809 Oo. 374 00:24:06,809 --> 00:24:10,220 Sa isang segundo lang, kami ay makita na kapag Pumunta ako pabalik sa master, ito ay hindi doon. 375 00:24:10,220 --> 00:24:16,110 376 00:24:16,110 --> 00:24:20,800 Ang command upang makita ang mga umiiral na sanga ay git branch, 377 00:24:20,800 --> 00:24:22,900 at ito ay nagpapakita sa iyo kung saan ang isa ikaw ay on. 378 00:24:22,900 --> 00:24:25,260 Mayroong isang pagkakaiba-iba ng iba pang mga utos na kaugnay 379 00:24:25,260 --> 00:24:27,660 sa na na gawin mo iba't ibang bagay sa mga sanga, 380 00:24:27,660 --> 00:24:31,540 ngunit lamang git branch sa sariling kalooban ipakita sa iyo kung ano ang sangay kung nasaan ka, 381 00:24:31,540 --> 00:24:36,810 at kung ano ang iba pang mga sanga na sa iyong lokal na makina. 382 00:24:36,810 --> 00:24:45,470 >> Kaya ngayon na bumalik sa master, gagawin ko git master checkout, nang walang b. 383 00:24:45,470 --> 00:24:47,650 Gamitin mo ang b kung ikaw ay paglikha ng isang branch. 384 00:24:47,650 --> 00:24:50,691 At kung hindi ka na sa paglikha ng isang sangay, at pagkatapos ay ang pangalan ng utos 385 00:24:50,691 --> 00:24:53,440 ay gumagawa ng isang maliit na mas kahulugan, dahil tulad ng ipaalam sa akin pumunta tingnan ang master 386 00:24:53,440 --> 00:24:56,030 at makita kung ano ang nangyayari doon. 387 00:24:56,030 --> 00:24:58,610 Kaya ngayon kung gagawin ko ito, walang file Anna. 388 00:24:58,610 --> 00:25:01,240 389 00:25:01,240 --> 00:25:05,450 Kung binuksan ko ang file na ito, maaari mong makita na walang pagbabago sa mga ito. 390 00:25:05,450 --> 00:25:08,990 391 00:25:08,990 --> 00:25:13,100 At kaya, ngayon, maaari ba akong gumawa ang ilang mga pagbabago sa paglipas dito. 392 00:25:13,100 --> 00:25:21,555 Kaya ang maaari kong sulatin sa malaking titik na ito, halimbawa. 393 00:25:21,555 --> 00:25:27,170 394 00:25:27,170 --> 00:25:34,490 >> At maaari kong pindutin ang isa pang file na tinatawag na master. 395 00:25:34,490 --> 00:25:37,840 At kaya ngayon maaari mong makita ang mayroon ako ang ilang mga pagbabago na hindi ko na itinanghal 396 00:25:37,840 --> 00:25:41,849 na sa loremipsum, at ako ay may ito bagong file. 397 00:25:41,849 --> 00:25:43,390 Kaya ngayon ako pagpunta upang idagdag ang mga bagong file. 398 00:25:43,390 --> 00:25:48,590 399 00:25:48,590 --> 00:25:53,580 At ako pagpunta sa gumawa. 400 00:25:53,580 --> 00:25:56,930 At muli, kahit na idinagdag ko isang file na partikular at hindi 401 00:25:56,930 --> 00:26:00,090 idagdag ang mga file na na umiiral, dahil gumagamit ako ng mga a, 402 00:26:00,090 --> 00:26:03,990 lahat ng mga file na nai umiral ay makakakuha ng alaga. 403 00:26:03,990 --> 00:26:12,860 404 00:26:12,860 --> 00:26:13,360 SIGE. 405 00:26:13,360 --> 00:26:17,430 406 00:26:17,430 --> 00:26:21,784 >> Kaya ngayon sanga ay pa rin doon. 407 00:26:21,784 --> 00:26:22,950 At isang branch pa rin doon. 408 00:26:22,950 --> 00:26:26,210 Kaya kong bumalik sa Anna sangay at ipakita sa iyo na ang aking mga pagbabago dito sa master 409 00:26:26,210 --> 00:26:30,240 hindi apektado na, ngunit malaman ko sa iyo nakuha ang ideya mula sa kapag nagpunta ako sa master 410 00:26:30,240 --> 00:26:32,810 at nagtrabaho ito na paraan. 411 00:26:32,810 --> 00:26:40,480 Ngayon, sabihin natin na gusto ko na talagang isama ang mga pagbabagong iyon sa master. 412 00:26:40,480 --> 00:26:42,280 Natapos ko ang aking tampok na ito. 413 00:26:42,280 --> 00:26:42,900 Ito ay gumagana. 414 00:26:42,900 --> 00:26:44,570 Sinubukan ko na ito, ito ay gumagana. 415 00:26:44,570 --> 00:26:46,490 At ngayon nais ko na isama na tampok 416 00:26:46,490 --> 00:26:48,460 sa pangunahing piraso ng software. 417 00:26:48,460 --> 00:26:52,095 Natapos mo na ang pinakasimpleng bersyon ng iyong huling proyekto, 418 00:26:52,095 --> 00:26:53,970 ngunit pagkatapos ay ikaw ay tunay na ay nagkaroon ng isang maliit na dagdag na oras 419 00:26:53,970 --> 00:26:56,140 kaya ikaw ay bumalik at nilikha ang bagong tampok na ito, 420 00:26:56,140 --> 00:27:01,870 at ngayon gusto mong ipagsama ang mga ito sa gayon ay Maaari mong aktwal na ipakita ito sa iyong tf. 421 00:27:01,870 --> 00:27:05,480 >> Hindi nakakagulat na ito ay tinatawag na isang git merge. 422 00:27:05,480 --> 00:27:10,810 At nakita mo ng mas maaga kung paano mo ay maaaring magkaroon ng conflicts merge, 423 00:27:10,810 --> 00:27:12,850 at ikaw ay pagpunta sa Mayroon upang malutas ang mga ito. 424 00:27:12,850 --> 00:27:21,490 Kaya kung pumunta ako dito at mula sa master-- ngayon ako sa master 425 00:27:21,490 --> 00:27:24,730 at gusto kong sumanib sa pagbabago mula sa Anna branch-- 426 00:27:24,730 --> 00:27:28,630 kaya ako pagpunta sa gawin git merge Anna branch. 427 00:27:28,630 --> 00:27:31,190 At ito ang unang sumusubok na automerge. 428 00:27:31,190 --> 00:27:33,950 At kung walang mga magkasalungat na mga pagbabago, 429 00:27:33,950 --> 00:27:40,330 kung ako ay lamang na nilikha sa maghain Anna sa Anna branch, 430 00:27:40,330 --> 00:27:44,710 at nilikha lamang ang file master sa master branch, 431 00:27:44,710 --> 00:27:46,460 pagkatapos ay ito lamang gawin isang auto merge at ito 432 00:27:46,460 --> 00:27:49,680 ay awtomatikong ipasok ang mga resulta. 433 00:27:49,680 --> 00:27:53,210 >> Ngunit kung mayroon kang sumanib conflicts, pagkatapos mo 434 00:27:53,210 --> 00:27:56,900 upang ayusin ang mga salungatan bago ang merge maaari sige. 435 00:27:56,900 --> 00:28:05,750 Kaya ngayon, kung pumunta ako sa loremipsum, nakita namin ang parehong bagay 436 00:28:05,750 --> 00:28:11,660 na nakita natin dati, kung saan mayroong ang dalawang magkaibang mga pagbabago. 437 00:28:11,660 --> 00:28:13,340 At maaari kong tanggapin ang alinman sa isa sa kanila. 438 00:28:13,340 --> 00:28:15,950 Maaari ko kahit na mayroon ang mga ito maging isa sa itaas ng iba pang, 439 00:28:15,950 --> 00:28:18,117 kung na saysay para sa kung ano ang ginagawa ko. 440 00:28:18,117 --> 00:28:20,700 Sa code, karaniwan na iyong pupuntahan na gusto ng isang bersyon o ng iba pang 441 00:28:20,700 --> 00:28:24,480 kung ikaw ay parehong ginawa ng mga pagbabago sa na. 442 00:28:24,480 --> 00:28:29,680 >> Tila tulad ng mayroong marahil, sa interface na ito, ang ilang mga magarbong paraan para sa akin 443 00:28:29,680 --> 00:28:39,770 upang tanggapin ang isang hanay ng mga pagbabago o sa iba. 444 00:28:39,770 --> 00:28:44,280 Ngunit dahil hindi ko talaga alam kung paano na gumagana, 445 00:28:44,280 --> 00:28:50,720 Lamang ako ng pagpunta sa subukan na gawin ito sa pamamagitan ng kamay, na kung saan ay hindi gumagana out nang maayos. 446 00:28:50,720 --> 00:28:57,100 447 00:28:57,100 --> 00:29:05,240 Kaya hayaan mo akong gawin ito ang paraan ko alam kung paano, kung saan ay [hindi marinig]. 448 00:29:05,240 --> 00:29:08,010 At tumagal ng isa sa ipaalam master, sapagkat ang aking pangalan ay talagang 449 00:29:08,010 --> 00:29:11,000 ay hindi na mahalaga na ito pangangailangan upang pumunta sa lahat ng bagay. 450 00:29:11,000 --> 00:29:14,480 451 00:29:14,480 --> 00:29:20,620 >> Ngayon lang ipakita sa iyo na na aktwal ginawa kung ano ang sinabi ko ito ay, may ito ay. 452 00:29:20,620 --> 00:29:23,340 453 00:29:23,340 --> 00:29:29,330 Kaya ngayon, kung gagawin ko git status-- at maaari kang makita ito alam na ito ay sa merge-- 454 00:29:29,330 --> 00:29:33,522 kaya dahil ako ay nagbago ang file na ito na nagkaroon ng mga sumanib sa mga ito, 455 00:29:33,522 --> 00:29:36,790 Mayroon akong muli upang idagdag ito sa gayon ay ito alam ito ay ligtas na magkasala. 456 00:29:36,790 --> 00:29:39,380 457 00:29:39,380 --> 00:29:41,670 Kaya ako pagpunta upang idagdag ito. 458 00:29:41,670 --> 00:29:53,370 At pagkatapos lamang ako ng pagpunta sa gawin magkasala sa halip na ilagay sa isang mensahe, 459 00:29:53,370 --> 00:29:57,940 dahil ito ay awtomatikong bumuo ng isang gumawa ng mensahe na nagsasabing isang bagay 460 00:29:57,940 --> 00:30:00,320 tungkol sa kung ano ang mga salungatan ay. 461 00:30:00,320 --> 00:30:03,660 >> Ngayon sumanib gumawa ng mga mensahe ay hindi palaging sobrang kapaki-pakinabang, 462 00:30:03,660 --> 00:30:06,910 ngunit kung may ay hindi anumang mga kontrahan, ito Gusto auto lamang bumuo ng mensahe na 463 00:30:06,910 --> 00:30:10,240 at hindi mo gagawin kinakailangang magkakaroon ng isang pagkakataon upang i-edit ito. 464 00:30:10,240 --> 00:30:14,425 Ito ay awtomatikong pumunta lamang sa iyong gumawa ng kasaysayan sa mensaheng ito. 465 00:30:14,425 --> 00:30:17,610 466 00:30:17,610 --> 00:30:20,750 Hindi ko talaga alam kung paano, ah yes. 467 00:30:20,750 --> 00:30:35,150 468 00:30:35,150 --> 00:30:35,650 Mayroon kaming pumunta. 469 00:30:35,650 --> 00:30:39,340 470 00:30:39,340 --> 00:30:46,500 Iyon lamang, ito ay bumubukas ng awtomatikong sa isang text editor na 471 00:30:46,500 --> 00:30:51,150 mangyayari upang maitakda bilang mga default. Ako ay maaaring magkaroon sa halip 472 00:30:51,150 --> 00:30:56,130 tapos git gumawa m at pagkatapos ay lamang ng isang walang laman na quote na string. 473 00:30:56,130 --> 00:30:59,520 At ito ay awtomatikong gagawin gawin ang mensahe merge 474 00:30:59,520 --> 00:31:01,570 walang ako may sa pakikitungo sa anuman editor 475 00:31:01,570 --> 00:31:05,700 ito palagay ni ay dapat gamitin ang mga ito para sa mga gumawa ng mensahe. 476 00:31:05,700 --> 00:31:06,260 >> Lahat tama. 477 00:31:06,260 --> 00:31:12,930 Kaya na ay isang pulutong ng mga utos at isang pulutong ng mga lamang mga piraso ng impormasyon 478 00:31:12,930 --> 00:31:14,110 napakabilis. 479 00:31:14,110 --> 00:31:17,390 Kahit sino ay may anumang mga katanungan ba? 480 00:31:17,390 --> 00:31:20,360 Alam ko na karamihan ay hindi sa iyo tunay na may up at pagpapatakbo ng mga ito. 481 00:31:20,360 --> 00:31:23,988 >> Madla: Kaya ang ginagawa ng Anna branch Umiiral pa rin sa puntong ito [hindi marinig]? 482 00:31:23,988 --> 00:31:27,860 483 00:31:27,860 --> 00:31:31,360 >> ANNA WHITNEY: Kaya kung gagawin ko git branch-- kaya tanong ay, 484 00:31:31,360 --> 00:31:35,150 ay umiiral pa rin ang Anna branch ngayon na ipinagsama ko na ito sa master. 485 00:31:35,150 --> 00:31:39,850 Oo ito ay, ngunit maaari ko ba itong tanggalin. 486 00:31:39,850 --> 00:31:42,910 Kaya ang pangkaraniwang bagay ay, oo, kapag lumikha ka 487 00:31:42,910 --> 00:31:47,170 isang sangay ng tampok at ang tampok ay may ay ganap na ipinagsama sa master, 488 00:31:47,170 --> 00:31:50,270 at hindi ka na pagpaplano sa paggawa anymore gumana sa na tampok na ito, 489 00:31:50,270 --> 00:31:53,740 kapag lumikha ka ng isang bagong tampok o kung ikaw Nais upang simulan ang paglikha ng isang bagong tampok, 490 00:31:53,740 --> 00:31:58,890 Gusto mong lumikha ng isang bagong sangay lamang para sa kapakanan ng kalinisan at organisasyon. 491 00:31:58,890 --> 00:32:06,490 >> Kaya ngayon kung ano ang maaari kong gawin upang tanggalin na branch ay sangay git d Anna branch. 492 00:32:06,490 --> 00:32:11,660 At kung hindi ako ay ipinagsama sa Anna sangay bago ko sinubukan upang gawin iyon, 493 00:32:11,660 --> 00:32:15,870 ito ay magbigay sa akin ng isang error na nagsasabi na Anna branch ay hindi ganap na ipinagsama. 494 00:32:15,870 --> 00:32:19,840 Sa ibang salita, ang mga pagbabago na sa Anna branch ay hindi kahit saan pa. 495 00:32:19,840 --> 00:32:24,070 Kaya kung tatanggalin mo ang branch, mawawalan ka ng mga pagbabagong iyon. 496 00:32:24,070 --> 00:32:26,770 Ngunit dahil ako lamang Pinagsama ito, sapat na smart Git ni 497 00:32:26,770 --> 00:32:31,035 upang malaman na Anna branch ay ganap na nakasama sa master. 498 00:32:31,035 --> 00:32:33,550 499 00:32:33,550 --> 00:32:36,820 >> At ito ay tunay na posible upang tanggalin ang isang branch kung talagang 500 00:32:36,820 --> 00:32:38,860 nais na itapon ang iyong mga pagbabago. 501 00:32:38,860 --> 00:32:41,910 Ito ay posible na tanggalin ang isang sangay na ito ay hindi isinama. 502 00:32:41,910 --> 00:32:45,210 Lahat ng tunay na may sa gawin ay baguhin ang lowercase d doon 503 00:32:45,210 --> 00:32:48,540 sa isang uppercase D. Ngunit ito ay sa pangkalahatan ay hindi isang magandang ideya, 504 00:32:48,540 --> 00:32:53,470 na ang dahilan kung bakit ikaw ay makakuha ng error kung susubukan mong gawin iyon. 505 00:32:53,470 --> 00:32:55,138 Ibang tanong? 506 00:32:55,138 --> 00:32:56,086 >> Madla: [hindi marinig]. 507 00:32:56,086 --> 00:32:59,759 508 00:32:59,759 --> 00:33:02,300 ANNA WHITNEY: Kaya kung mayroon kang test at mga kapaligiran ng produksyon, 509 00:33:02,300 --> 00:33:05,270 kung paano mo maaaring nauugnay sanga sa mga iyon? 510 00:33:05,270 --> 00:33:08,767 Kaya ito ay isang halimbawa lamang ng isang sangay na para sa isang tampok 511 00:33:08,767 --> 00:33:10,600 at pagkatapos mong magtanggal ng mga ito sa sandaling ito ay ipinagsama. 512 00:33:10,600 --> 00:33:13,400 Ito ay posible rin na may mahabang tumatakbo sanga 513 00:33:13,400 --> 00:33:17,380 na gamitin mo para sa ilang mga bahagi ng proseso ng iyong pag-unlad. 514 00:33:17,380 --> 00:33:20,140 Kaya maaari rin na mayroon kang isang pagsubok bangko. 515 00:33:20,140 --> 00:33:23,750 At mayroong lahat ng uri ng mga paraan upang maisama ang iba pang mga serbisyo 516 00:33:23,750 --> 00:33:25,890 isabit up at makipag-ugnay sa Git. 517 00:33:25,890 --> 00:33:30,310 Kaya maaari kang magkaroon ng iyong panubok na branch awtomatikong magpatakbo ng mga pagsubok sa na code. 518 00:33:30,310 --> 00:33:33,982 >> Kaya tulad ng mayroon ka sa iyong sangay ng pag-unlad, 519 00:33:33,982 --> 00:33:36,940 at pagkatapos ay mayroon kang ang iyong produksyon sangay, at mayroon kang ang iyong pagsubok bangko. 520 00:33:36,940 --> 00:33:40,310 At gusto mong gawin ang iyong mga pagbabago mula sa mga sangay ng pag-unlad, 521 00:33:40,310 --> 00:33:43,770 paanuman isama ang mga ito sa pagsubok bangko gamit ang ilan sa daloy ng trabaho, kung saan 522 00:33:43,770 --> 00:33:46,790 ay maaaring maging isang merge, gusto ko lang nagpakita. 523 00:33:46,790 --> 00:33:51,681 At pagkatapos ay gusto mo, mula sa doon, ito ay magpatakbo ng mga pagsubok. 524 00:33:51,681 --> 00:33:53,930 Ikaw ay maaaring magkaroon ng ito set up upang awtomatiko itong gawin, kahit. 525 00:33:53,930 --> 00:33:56,580 At pagkatapos ay maaari mong isama ito sa iyong produksyon branch. 526 00:33:56,580 --> 00:33:59,720 Nasagot ba ang iyong katanungan? 527 00:33:59,720 --> 00:34:02,760 Anumang iba pang mga katanungan? 528 00:34:02,760 --> 00:34:08,199 >> Dahil mula dito, pumunta kami mula sa standard na mga utos git 529 00:34:08,199 --> 00:34:11,820 na ikaw ay tiyak na gamitin ang anumang mga oras na iyong sinusubukan na gawin ang isang proyekto 530 00:34:11,820 --> 00:34:15,389 at kumuha sa isang bagay na Medyo mas pribado 531 00:34:15,389 --> 00:34:18,380 at iba pa tulad ng ibang paraan ng paggawa ng ilan sa mga parehong bagay 532 00:34:18,380 --> 00:34:21,192 na na usapan natin ang tungkol. 533 00:34:21,192 --> 00:34:23,010 >> Madla: [hindi marinig]. 534 00:34:23,010 --> 00:34:24,789 >> ANNA WHITNEY: Hindi, tulad ng mas karaniwan. 535 00:34:24,789 --> 00:34:27,440 536 00:34:27,440 --> 00:34:28,330 SIGE. 537 00:34:28,330 --> 00:34:31,450 Gayon ang bawa't medyo malinaw sa mga ito? 538 00:34:31,450 --> 00:34:36,995 Sa kung ano ang nangyari sa ngayon at kung bakit ito ay kung paano namin gawin ang mga bagay? 539 00:34:36,995 --> 00:34:37,870 Ba na magkaroon ng kahulugan? 540 00:34:37,870 --> 00:34:39,590 Magaling. 541 00:34:39,590 --> 00:34:46,219 Kaya sa halip na pinagsasama, o minsan sa karagdagan sa pinagsasama, 542 00:34:46,219 --> 00:34:50,362 may isa pang paraan ng pagsasama pagbabago mula sa isang branch sa iba, 543 00:34:50,362 --> 00:34:51,570 at na ang tinatawag na isang rebasing. 544 00:34:51,570 --> 00:34:54,139 545 00:34:54,139 --> 00:34:59,140 At ito ay halos tulad ng ang kabaligtaran ng isang merge. 546 00:34:59,140 --> 00:35:04,480 >> Kaya rebasing ay naiiba mula sa ang lahat ng bagay na usapan natin ang tungkol sa ngayon 547 00:35:04,480 --> 00:35:07,790 dahil ito ang tunay na rewrite ang iyong kasaysayan. 548 00:35:07,790 --> 00:35:09,780 At ilang mga tao na isipin na ito ay isang bagay 549 00:35:09,780 --> 00:35:11,710 dapat hindi ka na kailanman gawin sa Git. 550 00:35:11,710 --> 00:35:14,880 Ngunit ito ay isang tampok na Git mga alok, kaya ako ng opinyon 551 00:35:14,880 --> 00:35:19,700 na ito ay ganap na multa hangga't tulad ng alam mo kung paano gawin ito nang tama. 552 00:35:19,700 --> 00:35:23,711 Ito ay tiyak na ang kaso na kayo hindi dapat isulat na muli pampublikong kasaysayan. 553 00:35:23,711 --> 00:35:25,710 Kaya ito ay kung ano ako ay pakikipag-usap tungkol sa mas maaga kapag 554 00:35:25,710 --> 00:35:28,270 Sinabi ko may ilang mga pakinabang sa pagkakaroon ng isang sangay na 555 00:35:28,270 --> 00:35:29,856 lamang ang mga lokal sa iyong machine. 556 00:35:29,856 --> 00:35:32,980 Ito ay nangangahulugan na maaari mong gamitin ang mga trick tulad ng na ito, at makikita ko pumunta sa isang maliit na mas kaunti 557 00:35:32,980 --> 00:35:36,330 bakit maaaring gusto mong gawin ito sa isang segundo. 558 00:35:36,330 --> 00:35:41,220 Ngunit lamang napakalaking disclaimer upang simulan sa, hindi kailanman muling isulat pampublikong kasaysayan. 559 00:35:41,220 --> 00:35:47,660 Dahil nakita mong mas maaga kung ano ang mangyayari kung hindi mo gagawin ng tama ang merge, 560 00:35:47,660 --> 00:35:49,300 kapag ikaw pull. 561 00:35:49,300 --> 00:35:52,084 >> Kung rewrote mo, kung ako ay isulat muli ang kasaysayan 562 00:35:52,084 --> 00:35:55,250 at pagkatapos ay kayo ay sinusubukan upang hilahin, Git ay pagpunta mabaliw sa 1,000 mga error 563 00:35:55,250 --> 00:35:59,260 sinasabi may mga gumagawa misting dito na gusto, na mayroon ka. 564 00:35:59,260 --> 00:36:03,110 Ngunit pagkatapos ay mayroong iba pang mga gumagawa hindi mo na kailangang na dito. 565 00:36:03,110 --> 00:36:06,650 Kaya ito isipin na ang lahat ng bagay ay dapat na may na nangyari. 566 00:36:06,650 --> 00:36:08,620 Hindi na ito ay tumutugma sa kung ano ay sa iyong machine. 567 00:36:08,620 --> 00:36:10,710 Huwag kailanman gawin na upang ang iyong mga collaborator. 568 00:36:10,710 --> 00:36:12,210 Huwag kailanman isulat na muli pampublikong kasaysayan. 569 00:36:12,210 --> 00:36:14,800 570 00:36:14,800 --> 00:36:20,230 >> Ngunit maaari mong muling isulat ang lokal na kasaysayan, at ilang mga magandang dahilan upang gawin iyon. 571 00:36:20,230 --> 00:36:23,280 Kaya una, ano ang mangyayari kapag rebase iyo? 572 00:36:23,280 --> 00:36:25,700 Sabihin natin na mayroon akong ang master sangay sa red, 573 00:36:25,700 --> 00:36:29,020 at pagkatapos ay ang mga asul na branch sa asul. 574 00:36:29,020 --> 00:36:36,490 Habang ako ay sa asul na branch Hindi ko type git rebase master, 575 00:36:36,490 --> 00:36:39,880 kaya ito ay isang uri ng kabaligtaran direksyon mula sa pinagsasama. 576 00:36:39,880 --> 00:36:42,230 Ako rebasing sa mag master. 577 00:36:42,230 --> 00:36:45,040 At ito ay nangangahulugan na literal na aking iniinom ang gumawa 578 00:36:45,040 --> 00:36:49,420 na ginawa ko sa asul na branch at inilagay sa dulo ng master 579 00:36:49,420 --> 00:36:51,710 bilang kanilang base. 580 00:36:51,710 --> 00:36:54,410 >> Kaya mahalagang kung ano ito ay ito ay isinasama 581 00:36:54,410 --> 00:36:58,930 lahat ng mga gumagawa na nangyari sa master dahil ang punto branch 582 00:36:58,930 --> 00:37:05,000 tulad ng kung sila ay nangyari bago ang lahat ng mga gumagawa na sa asul na branch. 583 00:37:05,000 --> 00:37:08,450 Ba na conceptually magkaroon ng kahulugan? 584 00:37:08,450 --> 00:37:13,970 Kaya ang pangunahing dahilan upang gawin ito ay na ito ay nagpapahintulot sa iyong mga gumagawa talaga 585 00:37:13,970 --> 00:37:17,700 sort of-- isang indibidwal magkasala ay maaaring maging isang yunit ng trabaho 586 00:37:17,700 --> 00:37:19,850 at na maaaring maging malinaw sa kasaysayan. 587 00:37:19,850 --> 00:37:22,420 At hindi ka magkaroon ng mga sumanib nagkakasala kung saan ito ay hindi halata 588 00:37:22,420 --> 00:37:26,920 kung ano ang tampok na aming ipinagsama o kung ano ang mga pagbabago ay aktwal na ginawa, 589 00:37:26,920 --> 00:37:33,420 dahil hindi ka magkaroon ng access sa aktwal na mga gumagawa na 590 00:37:33,420 --> 00:37:35,420 ay ginawa bago ang sumanib, di ba? 591 00:37:35,420 --> 00:37:39,220 >> Ito ay hindi ito ay hindi laging malinaw mula sa log, na aktwal na, na ang 592 00:37:39,220 --> 00:37:41,990 isang bagay upang tumingin sa. 593 00:37:41,990 --> 00:37:47,120 Kung gagawin ko ito, maaari mong makita ang log. 594 00:37:47,120 --> 00:37:53,290 Ang command ay lamang makakuha ng mag-log, at maaari mong tumingin sa pamamagitan ng lahat ng mga nakaraang gumagawa. 595 00:37:53,290 --> 00:37:57,330 596 00:37:57,330 --> 00:37:59,330 Kaya tingnan mo may isa pang sumanib magkasala in dito. 597 00:37:59,330 --> 00:38:02,660 Ito ay kung ano ang nangyari kapag ikaw ay nagkakaroon ng problema paghila at pagtulak ng mas maaga. 598 00:38:02,660 --> 00:38:06,630 599 00:38:06,630 --> 00:38:13,830 Kaya ang ilan sa mga ito ay medyo malinaw, ang mga ito mga mensahe na gusto, nagdagdag ako ng isang file, 600 00:38:13,830 --> 00:38:16,202 Ilagay Scott ang kanyang pangalan sa file. 601 00:38:16,202 --> 00:38:16,910 Mga bagay na tulad ng. 602 00:38:16,910 --> 00:38:20,010 >> Ngunit pagkatapos kami ay may mga merge nagkakasala at ito ay hindi talagang halata 603 00:38:20,010 --> 00:38:21,020 ano ang nangyayari. 604 00:38:21,020 --> 00:38:23,310 Rebasing hinahayaan kang maiwasan na. 605 00:38:23,310 --> 00:38:26,950 Kaya kahit na kung nais mo pa upang sumanib, kahit na ikaw pa rin 606 00:38:26,950 --> 00:38:32,700 nais na gawin ang eksaktong parehong bagay, maaari mong maiwasan ang 607 00:38:32,700 --> 00:38:37,300 pagkakaroon ng isang merge magkasala dahil sabihin natin na na- ni gawin ito upang ipaalam. 608 00:38:37,300 --> 00:38:43,070 609 00:38:43,070 --> 00:38:44,970 Pupunta ako upang lumikha ng isang bagong sangay. 610 00:38:44,970 --> 00:38:46,950 At ngayon ako sa bagong branch. 611 00:38:46,950 --> 00:38:52,900 At ako pagpunta sa gumawa ng ilang mga pagbabago sa dito, lumikha lamang ng isang bagong file. 612 00:38:52,900 --> 00:39:01,630 613 00:39:01,630 --> 00:39:02,460 >> Lahat tama. 614 00:39:02,460 --> 00:39:07,910 At ngayon, nang sumanib ako, kaya pa rin ako lamang ang pagpunta upang sumanib sa normal na paraan. 615 00:39:07,910 --> 00:39:09,550 Pupunta ako sa bumalik sa master. 616 00:39:09,550 --> 00:39:14,490 617 00:39:14,490 --> 00:39:22,330 At ako pagpunta upang sumanib bagong branch. 618 00:39:22,330 --> 00:39:25,560 At makikita mo na sinasabi nito fast forward. 619 00:39:25,560 --> 00:39:28,840 Iyon ay nangangahulugan na mayroong lamang mga pagbabago sa isang bahagi ng merge. 620 00:39:28,840 --> 00:39:33,150 Kaya ito ay hindi kailangang mag-alala tungkol sa kung aling mga pagbabago ang dapat kong tanggapin. 621 00:39:33,150 --> 00:39:35,400 Hindi nito kahit na may sa auto malutas conflicts. 622 00:39:35,400 --> 00:39:38,120 Hindi nito kahit na kailangang mag-isip tungkol sa kung mayroong salungatan. 623 00:39:38,120 --> 00:39:42,280 Dahil alam ito doon ay mga gumagawa ay idinagdag lamang sa isang bahagi ng merge. 624 00:39:42,280 --> 00:39:49,180 Kaya ang maaari kong ilipat lamang ang ulo ng iba pang sangay ng hanggang sa pagkatapos ng mga gumagawa. 625 00:39:49,180 --> 00:39:51,980 >> Kaya kung ano ang maaari mong gawin may rebasing ay matiyak 626 00:39:51,980 --> 00:39:56,860 na ang lahat ng commits-- sorry, na ang lahat ng merges ay fast forward merges. 627 00:39:56,860 --> 00:40:00,210 Kaya kung mayroon kang isang lokal na sangay lang sa iyong computer 628 00:40:00,210 --> 00:40:03,390 at nagawa mo ang isang grupo ng mga pagbabago sa doon, 629 00:40:03,390 --> 00:40:05,760 isa pang pag-unlad ang nangyayari sa master. 630 00:40:05,760 --> 00:40:09,140 Ang lahat ng iyong mga collaborator, ang lahat ng iyong katrabaho, lahat ng mga miyembro ng iyong proyekto 631 00:40:09,140 --> 00:40:11,679 Mayroon na-paggawa ng kanilang mga sariling mga pagbabago sa master. 632 00:40:11,679 --> 00:40:13,970 Siguro ang kanilang orihinal na nagsimula ang kanilang mga pagbabago sa mga sanga 633 00:40:13,970 --> 00:40:16,840 ngunit pagkatapos na ipinagsama nila ang mga ito sa o sa isang bagay. 634 00:40:16,840 --> 00:40:20,060 Ngunit ang pagbabago ay nangyari sa master. 635 00:40:20,060 --> 00:40:23,290 >> At ikaw ay nagtatrabaho sa isang tampok at ito ay sa isang ganap na hiwalay na file, 636 00:40:23,290 --> 00:40:25,010 kaya walang conflicts. 637 00:40:25,010 --> 00:40:31,660 Maaari mong rebase iyong sangay na lokal na lamang sa iyo, sa mag-master. 638 00:40:31,660 --> 00:40:35,860 Kaya nga kapag pagsamahin mo ito sa, ikaw ay Hindi mo na kailangang mag-alala tungkol sa anumang ng mga ito. 639 00:40:35,860 --> 00:40:37,710 Ito lamang ay isang fast forward merge. 640 00:40:37,710 --> 00:40:39,460 At ito ay hindi kahit lumikha ng isang merge magkasala. 641 00:40:39,460 --> 00:40:43,930 Ito literal lang sabi, OK, maaari ko ilagay ang lahat ng mga mga gumagawa sa sangay na ito 642 00:40:43,930 --> 00:40:45,740 din. 643 00:40:45,740 --> 00:40:48,600 Ba na magkaroon ng kahulugan? 644 00:40:48,600 --> 00:40:51,782 >> Ba magkaroon ng kahulugan kung bakit gusto mo nais na gawin ito, at kung paano mo gustong gusto mong gawin ito? 645 00:40:51,782 --> 00:40:55,020 646 00:40:55,020 --> 00:40:59,840 >> Madla: Kaya sa ibang mga salita, ikaw ay sinasabi 647 00:40:59,840 --> 00:41:04,760 kumuha ng lahat ng mga trabaho na ang nangyaring tapos na master [hindi marinig]. 648 00:41:04,760 --> 00:41:05,885 ANNA WHITNEY: Oo, eksakto. 649 00:41:05,885 --> 00:41:09,660 650 00:41:09,660 --> 00:41:14,970 Kaya ito ay maaaring mukhang isang maliit na uto dahil sa ito ay halos tungkol sa aesthetics. 651 00:41:14,970 --> 00:41:17,390 Ito din ay isang maliit na piraso tungkol sa paggawa ng bagay na mas malinaw. 652 00:41:17,390 --> 00:41:23,150 Pero hindi ito ang paggawa ng isang malaking pagkakaiba sa kung paano mo talagang isulat ang iyong code. 653 00:41:23,150 --> 00:41:25,920 Isang bagay na maaaring maging mas kapaki-pakinabang sa mga regular na pagsasanay 654 00:41:25,920 --> 00:41:32,250 ay kapag ikaw ay gumagawa git pull, maaari mong idagdag ang pagpipiliang ito sa mga ito. 655 00:41:32,250 --> 00:41:36,114 656 00:41:36,114 --> 00:41:38,050 Ah. 657 00:41:38,050 --> 00:41:42,680 So dahil ako ay isang grupo ng mga mga bagay-bagay, ako ay may isang kontrahan. 658 00:41:42,680 --> 00:41:48,930 Ngunit kapag ikaw ay gumawa ng isang rebase, maaari kang magkaroon ng salungatan 659 00:41:48,930 --> 00:41:52,790 tulad ng mayroon ka sa isang pagsasama, at maaari mong malutas ang mga ito sa parehong paraan. 660 00:41:52,790 --> 00:41:55,240 >> Subalit kaya ang pangunahing ideya ay na kapag ginagawa ko ito, 661 00:41:55,240 --> 00:41:59,210 ito sabi ni unang rewinding ulo upang i-play ang iyong trabaho sa ibabaw ng mga ito. 662 00:41:59,210 --> 00:42:08,500 At literal ito ay pagpunta sa ilagay sa likod, ito ay pagpunta sa gawin ang lahat ng ang gumawa 663 00:42:08,500 --> 00:42:13,320 na ako lang hinila mula sa kahit saan nakuha ko na ang mga ito, 664 00:42:13,320 --> 00:42:17,270 mula sa mga remote repository, at pagkatapos ito ay 665 00:42:17,270 --> 00:42:20,214 pagpunta sa play ang aking bagong nagkakasala sa tuktok nito. 666 00:42:20,214 --> 00:42:22,380 Sa ibang salita, ito ay pagpunta upang ilapat ang lahat ng mga pagbabago. 667 00:42:22,380 --> 00:42:27,220 668 00:42:27,220 --> 00:43:05,386 Kaya kung ayusin ko lang this-- Interesting. 669 00:43:05,386 --> 00:43:06,760 Siguro na ang isang pagkakaiba system. 670 00:43:06,760 --> 00:43:11,270 671 00:43:11,270 --> 00:43:19,880 >> Kaya OK. 672 00:43:19,880 --> 00:43:26,590 Kaya ang pangunahing ideya na ngayon kung ako ay tumingin sa ang log, 673 00:43:26,590 --> 00:43:36,610 Kukunin ko makita na ito ay idinagdag muli ang aking pangalan. 674 00:43:36,610 --> 00:43:43,790 Kaya ito ay talagang hindi before-- Paumanhin, ginawa ko ito. 675 00:43:43,790 --> 00:43:44,320 Maghintay. 676 00:43:44,320 --> 00:43:46,277 Ako ay isang maliit na nalilito tungkol sa order dito. 677 00:43:46,277 --> 00:43:48,110 Ngunit mahalagang, ang ideya ay na mayroong mga 678 00:43:48,110 --> 00:43:53,710 ilang mga gumagawa na nasa remote repository na ay hindi pa ginawa dito. 679 00:43:53,710 --> 00:43:56,726 680 00:43:56,726 --> 00:43:59,350 Isang bagay na ako ay itinulak, ito Mukhang siguro ko sinasadyang 681 00:43:59,350 --> 00:44:02,390 itinulak mula sa Anna branch. 682 00:44:02,390 --> 00:44:08,880 >> Ngunit sa anumang kaso, kapag nakuha ko anumang mga gumagawa na were-- oo. 683 00:44:08,880 --> 00:44:11,860 Tingnan, sa isang punto, ko sinasadyang itinulak mula sa Anna branch, 684 00:44:11,860 --> 00:44:14,710 dahil ako ay magkasala idinagdag na file Anna. 685 00:44:14,710 --> 00:44:19,225 Mapapansin mo na na nasa may bago ngayon. 686 00:44:19,225 --> 00:44:19,724 Hindi, maghintay. 687 00:44:19,724 --> 00:44:22,020 Iyan ay mula sa merge. 688 00:44:22,020 --> 00:44:24,100 Minsan ito ay isang maliit na mahirap na dahilan tungkol sa, 689 00:44:24,100 --> 00:44:29,040 dahil ako ay talagang hindi sigurado kung bakit ito ibinigay sa akin ng sumasalungat doon. 690 00:44:29,040 --> 00:44:34,820 Ngunit ang mga pangunahing saligan na kung Ako ay may isang bungkos ng mga commits-- sorry. 691 00:44:34,820 --> 00:44:38,490 >> Kung ang ibang tao ay ginawa ng isang grupo ng mga utos sa master at gusto nila ay 692 00:44:38,490 --> 00:44:42,350 itinulak sa pamamagitan ng remote repository, at ako ay may ilang mga lokal na mga gumagawa na ako 693 00:44:42,350 --> 00:44:49,480 Hindi pa itinulak, at gagawin ko git hilahin --- rebase, pagkatapos ay kapag ito kinukuha, 694 00:44:49,480 --> 00:44:52,090 halip na sinusubukan mong sumanib, susubukan nitong rebase. 695 00:44:52,090 --> 00:44:55,870 At ang tanging pagkakaiba ay na pagkatapos mo end up sa isang mas malinis na kasaysayan magkasala, 696 00:44:55,870 --> 00:45:00,370 at sa kasong ito, ito ang tunay gumagawa ng isang pulutong ng higit pa sa isang pagkakaiba. 697 00:45:00,370 --> 00:45:04,930 Dahil kung sa bawat oras na ikaw pull ikaw ay nagpapakilala ng isang merge magkasala, 698 00:45:04,930 --> 00:45:07,170 pagkatapos ito ay nagsisimula upang makakuha ng talagang pangit, talagang mabilis. 699 00:45:07,170 --> 00:45:10,670 At ito ay nagiging sobrang hindi maliwanag kung ano talaga ang ginagawa mo. 700 00:45:10,670 --> 00:45:14,050 >> Kaya hindi ko gagawin naman iminumungkahi na iyong 701 00:45:14,050 --> 00:45:17,040 simulan sinusubukang rebase lahat ng iyong sanga sa halip na pinagsasama ang mga ito, 702 00:45:17,040 --> 00:45:18,900 o bago pinagsasama ang mga ito. 703 00:45:18,900 --> 00:45:21,450 Ngunit Gusto ko iminumungkahi tiyak na ang bilang ikaw ay gumagawa ng ito, 704 00:45:21,450 --> 00:45:28,800 mo marahil subukan upang makakuha ng isang pakiramdam para sa git hilahin sa pamamagitan ng opsyon rebase, --rebase, 705 00:45:28,800 --> 00:45:35,410 dahil iyon ay pumunta sa isang mahabang paraan patungo sa paggawa ng iyong mangako mas malinaw na kasaysayan, 706 00:45:35,410 --> 00:45:38,520 paggawa ng mas kitang-kita ano ang ginagawa mo. 707 00:45:38,520 --> 00:45:39,960 SIGE. 708 00:45:39,960 --> 00:45:42,915 Kahit sino ay may huling katanungan bago matapos up lang namin. 709 00:45:42,915 --> 00:45:43,697 Oo? 710 00:45:43,697 --> 00:45:44,671 >> Madla: [hindi marinig]. 711 00:45:44,671 --> 00:45:50,040 712 00:45:50,040 --> 00:45:52,740 >> ANNA WHITNEY: Iyan ay hindi ang aking personal na kombensiyon, 713 00:45:52,740 --> 00:45:56,880 ngunit ito ay uri ng isang convention, mas pangkalahatang. 714 00:45:56,880 --> 00:45:58,805 At Hindi sa tingin ko ito ang aktwal na Latin. 715 00:45:58,805 --> 00:46:02,920 716 00:46:02,920 --> 00:46:06,659 Oo, kaya ang ilan sa mga ito ay tunay na Latin, ngunit ito ay isang uri ng like-- 717 00:46:06,659 --> 00:46:07,575 Madla: [hindi marinig]. 718 00:46:07,575 --> 00:46:30,810 719 00:46:30,810 --> 00:46:31,982 >> ANNA WHITNEY: OK. 720 00:46:31,982 --> 00:46:33,565 Hayaan akong makita kung ang maaari kong gawin ito ng tama. 721 00:46:33,565 --> 00:46:36,790 722 00:46:36,790 --> 00:46:39,440 At pagkatapos ay ang log git dapat talagang magpakita ng isang bagay na kapaki-pakinabang. 723 00:46:39,440 --> 00:46:45,550 724 00:46:45,550 --> 00:46:46,230 OK, ngayon. 725 00:46:46,230 --> 00:46:58,940 726 00:46:58,940 --> 00:47:03,340 >> Madla: Lahat ng mga karapatan, ito ganito ang hitsura ng Griyego sa akin. 727 00:47:03,340 --> 00:47:06,980 728 00:47:06,980 --> 00:47:08,760 >> ANNA WHITNEY: OK. 729 00:47:08,760 --> 00:47:13,920 Kaya natin ngayon akong makita kung ang git log ay nagpapakita ng mas maraming kapaki-pakinabang na kahit ano. 730 00:47:13,920 --> 00:47:18,050 731 00:47:18,050 --> 00:47:18,550 Kaya oo. 732 00:47:18,550 --> 00:47:22,290 733 00:47:22,290 --> 00:47:28,570 Ito ay kapag merged-- ko yes. 734 00:47:28,570 --> 00:47:37,200 Kaya ang pagbabago ay kapag ipinagsama ko ang bagong sangay, at nilikha ko ang mga bagong file. 735 00:47:37,200 --> 00:47:45,380 At ang huling oras na ako ay itinulak, ako pa rin tumuloy ang aking pangalan sa loremipsum file. 736 00:47:45,380 --> 00:47:50,230 Kaya sa sandaling naayos ko na, pagkatapos ay ang mga ay mailalapat pagkatapos, tulad ng kung sila ay 737 00:47:50,230 --> 00:47:51,730 ay orihinal nai-tapos pagkatapos. 738 00:47:51,730 --> 00:47:55,880 739 00:47:55,880 --> 00:47:57,720 Ba na magkaroon ng kahulugan? 740 00:47:57,720 --> 00:48:01,740 >> Kung na-set up ako ng aking mga sanga upang orihinal na subukan upang ilarawan 741 00:48:01,740 --> 00:48:04,881 konsepto na ito, maaaring ito ay nagtrabaho. 742 00:48:04,881 --> 00:48:07,380 Ngunit ako ay hindi sigurado kung kami ay ay kahit na pagpunta upang makakuha ng sa na ito. 743 00:48:07,380 --> 00:48:10,260 744 00:48:10,260 --> 00:48:12,044 Anumang mga huling katanungan? 745 00:48:12,044 --> 00:48:13,028 >> Madla: [hindi marinig]. 746 00:48:13,028 --> 00:48:20,959 747 00:48:20,959 --> 00:48:21,750 ANNA WHITNEY: Oo. 748 00:48:21,750 --> 00:48:23,870 Hindi nito kailangang maging maaaring basahin ang mga bagay 749 00:48:23,870 --> 00:48:27,250 upang i-save ito sa isang git repository. 750 00:48:27,250 --> 00:48:31,360 Kaya ang mangyayari kong magkaroon ka dito ng isang PDF. 751 00:48:31,360 --> 00:48:37,990 Kaya lahat ng sa iyo, kahit na hindi ka magsa-sign up para sa Git, maaari mong gamitin ang bigay-sipi. 752 00:48:37,990 --> 00:48:41,780 Ito ay sa pahina repository. 753 00:48:41,780 --> 00:48:46,460 Muli, maaari mong basahin ang repository kahit na kung ikaw ay hindi 754 00:48:46,460 --> 00:48:48,900 isang nakikipagtulungan sa repository. 755 00:48:48,900 --> 00:48:55,480 Subalit kaya, hindi ko na partikular na i-edit ang PDF format, tama? 756 00:48:55,480 --> 00:49:00,600 Ngunit kung i-save ko ang isang bagong PDF sa doon, sa ilalim ng na pangalan, maaari ko bang gumawa ng mga pagbabago 757 00:49:00,600 --> 00:49:02,950 at itulak ang mga ito sa lalagyan. 758 00:49:02,950 --> 00:49:07,600 >> Ito ay madalas na standard practice sa walang live ang iyong mga binary file 759 00:49:07,600 --> 00:49:10,970 sa iyong lalagyan maliban kung ang mga ito ay pagpunta sa be-- kung ito ay isang bagay na 760 00:49:10,970 --> 00:49:14,640 tulad ng isang build ng iyong application, ikaw ay maaaring makakuha ng alisan ng ito 761 00:49:14,640 --> 00:49:19,640 bago tanggapin ang alok, o ilagay ang ito sa labas ng repository. 762 00:49:19,640 --> 00:49:22,340 Dahil lalo na, tulad ng Git hindi maaaring hawakan napakalaking mga file, 763 00:49:22,340 --> 00:49:25,170 o partikular GitHub ay hindi hayaan mong mag-upload ng masyadong malaki 764 00:49:25,170 --> 00:49:29,030 file dahil ito ay masyadong maraming load sa kanilang mga server. 765 00:49:29,030 --> 00:49:31,890 Ito ay maaari ring gamitin Git nang hindi gumagamit ng GitHub, sa kaso 766 00:49:31,890 --> 00:49:36,760 maaari mong gamitin ang kanilang mga, maaari kang maging magagawa upang panatilihing ng malalaking file sa doon 767 00:49:36,760 --> 00:49:37,885 kung ikaw ay nagkaroon ng iyong sariling server. 768 00:49:37,885 --> 00:49:40,872 769 00:49:40,872 --> 00:49:43,205 Ngunit sa gayon ay higit pa sa isang isyu ng laki kaysa sa pagiging madaling mabasa. 770 00:49:43,205 --> 00:49:46,390 771 00:49:46,390 --> 00:49:47,697 Tanong? 772 00:49:47,697 --> 00:49:48,671 >> Madla: [hindi marinig]. 773 00:49:48,671 --> 00:49:53,607 774 00:49:53,607 --> 00:49:54,440 ANNA WHITNEY: Kanan. 775 00:49:54,440 --> 00:49:59,910 So fast forward ko bang pagsamahin ang isa na kung saan ang lahat ng iyong ginagawa 776 00:49:59,910 --> 00:50:03,740 ay lamang ng pagkuha ng ilang mga gumagawa mula sa isang bahagi ng merge 777 00:50:03,740 --> 00:50:04,990 at inilagay ang mga ito sa iba. 778 00:50:04,990 --> 00:50:08,410 Kaya't kung ikaw ay nasa master, ikaw ay Hindi nagbago ang master sa lahat. 779 00:50:08,410 --> 00:50:10,760 Nagsagawa ka ng isang bungkos ng mga pagbabago sa iyong mga tampok branch, 780 00:50:10,760 --> 00:50:13,350 at sumanib ka sa branch na katangian. 781 00:50:13,350 --> 00:50:17,350 Dahil doon ay walang mga pagbabago sa master, ikaw ay 782 00:50:17,350 --> 00:50:23,110 maaaring sa tingin ng mga ito bilang naghahanap talaga tulad ng larawan na ito sa ibaba. 783 00:50:23,110 --> 00:50:26,700 Ang mga pulang arrow ay hindi progressed, kaya ang lahat ng iyong ginagawa ay mahalagang 784 00:50:26,700 --> 00:50:27,730 ay pagpili na ito up. 785 00:50:27,730 --> 00:50:31,032 At ngayon sinasabi, OK, ito ay lamang ang pulang arrow. 786 00:50:31,032 --> 00:50:33,140 Sinusuportahan ba na may katuturan? 787 00:50:33,140 --> 00:50:36,699 >> At ito ay mabuti dahil walang merge magkasala. 788 00:50:36,699 --> 00:50:39,240 Alam mo may hindi pagpunta sa maging anumang mga kontrahan sa pamamagitan ng kahulugan. 789 00:50:39,240 --> 00:50:41,573 Kung mayroong anumang salungatan, Gusto mo na nalutas ang mga ito 790 00:50:41,573 --> 00:50:42,942 kung ikaw ay isang bagay na tulad nito. 791 00:50:42,942 --> 00:50:43,906 >> Madla: [hindi marinig]. 792 00:50:43,906 --> 00:50:52,110 793 00:50:52,110 --> 00:50:54,910 >> ANNA WHITNEY: So sa madaling salita, kung mayroon kang isang larawan na tulad nito 794 00:50:54,910 --> 00:51:00,649 at ginawa mo ang isang fast forward merge upang magdala ng lahat ng ito bagay up dito, 795 00:51:00,649 --> 00:51:03,690 ito ay uri ng husto upang ipakita ang mga ito sa paraan iginuhit ko ang mga diagram dahil ikaw 796 00:51:03,690 --> 00:51:13,149 Gusto pa rin ng dalawang magkahiwalay na mga sanga, pero ang mga ito ay hindi pa diverged. 797 00:51:13,149 --> 00:51:15,940 Maaari mong isipin na ito bilang isa lamang tulad ng, kung mayroon kang isang pulang arrow na 798 00:51:15,940 --> 00:51:19,140 napupunta lahat ng mga paraan na dito, ngunit ito may isang pula at isang asul unahan ng pana, 799 00:51:19,140 --> 00:51:22,230 at sa gayon ay maaari kang magdagdag ng higit nagkakasala sa alinman sa mga ito, 800 00:51:22,230 --> 00:51:23,780 at pagkatapos ay ang mga ito ay magkaiba muli. 801 00:51:23,780 --> 00:51:25,788 Ngunit ang mga ito sa parehong hanggang sa puntong iyon. 802 00:51:25,788 --> 00:51:29,540 803 00:51:29,540 --> 00:51:31,792 >> Anumang higit pang mga tanong? 804 00:51:31,792 --> 00:51:32,292 Lahat tama. 805 00:51:32,292 --> 00:51:33,890 Well, salamat sa inyo. 806 00:51:33,890 --> 00:51:36,542