ANNA WHITNEY: Tāpēc es esmu gatavojas runāt par to, kā izmantot GIT, un kāpēc jums vajadzētu aprūpi. Git ir versiju kontroles rīks. Jūs, iespējams, iepazinies ar kaut kas līdzīgs Google Docs vai Dropbox, citas lietas, kas ļauj jums dalīties versijas lietas un sekot līdzi izmaiņām jūs esat veikuši, lai dažādos dokumentos. Lieta par GitHub ir ka tas ir optimizēta kodu un tas dod jums milzīgu daudzumu kontrole pār tieši kādas izmaiņas jums saglabāt un kādas izmaiņas jums atbrīvoties un kura izmaiņas jūs iekļaut. Tātad tas ir liels, kāpēc no kāpēc jūs vēlaties izmantot GIT. Tāpēc, ka jūs nevarat īsti kods ļoti labi Google Docs. Jūs esat tikai minētajā interfeisu. Tas ir mazliet grūtāk iekļaut, piemēram, OK, kāds padarījusi šo izmaiņu un kāds cits, kas šo citu izmaiņu. Un jūs vēlaties, lai saglabātu pirmais puse no pirmā izmaiņu un otrā puse otrā izmaiņa un ir viss pārējais paliek tāds pats. Git ļauj darīt tiem, lietas ļoti precīzi. Un tāpēc, ja jūs strādājat programmatūru, tas ir diezgan izplatīta, lai izmantotu GIT darbā. Un tas ir diezgan daudz ir labākais veids darīt sadarbību par programmatūru. Ir dažas citas versijas kontrole darbarīki, ka jūs varētu izmantot, nevis, bet kaut kas līdzīgs šim būs nepieciešams. Jo atkal, Google Docs nav īsti samazināt to, kad jūs mēģināt rakstīt kodu sadarbojoties ar citiem programmētājiem. Mums bija šo neseno Xkcd tas bija diezgan būtisks. Tik cerams, līdz gada beigām Šīs prezentācijas, tas tiks clear-- mazliet clearer-- ne tikai komandu saraksts ka var palaist, lai saņemtu visu uz darbu, bet mazliet vairāk no loģiskais kāpēc šīs komandas darbu. Tātad pieņemsim lekt cik mēs faktiski izmantot GIT. Un patiesībā, es eju īsumā pop nekā šeit. Ja jums ir jūsu klēpjdators, jūs vēlaties izvelciet to ārā un atvērt CS50 IDE. Mēs galvenokārt būs strādā terminālī, ne tik daudz, mēs būsim tikai darot mazliet failos. Tātad, ko jūs gatavojas vēlaties darīt, tikai, lai saņemtu izveidot šeit, vispirms jūs gatavojas atvērt savu SSH atslēgu file-- publiskajā atslēgas failu. Es nezinu, vai jūs esat runājuši ļoti daudz par SSH atslēgas, bet to, ko jūs vēlaties darīt tas ir. LABI? Un tas būs pop up šis ilgi rakstzīmju virkne, un jūs vienkārši vēlaties kopēt tos. Kopēt viss. Just darīt. Un tad, ja jums iet uz savu profilā GitHub, jūs varat doties uz Labot profilu, un pēc tam zem SSH atslēgas, jūs gatavojas pievienot SSH atslēgu. Un jūs varat title tas CS50 IDE. Vai tas ir jēga? Vai visi iegūt šo soli? Tas ir tikai tāpēc, ka pēc tam, kad mēs esam izmantojot glabātavas IDE, mēs varam piekļūt tieši, un nav jāuztraucas par ierakstot mūsu paroli katru reizi, kad mēs to izmantojam. LABI. Tāpēc tagad mēs aizvērtu to. Ja kāds cits grib pievienot tos uz GitHub repozitoriju, ja jūs vienkārši got šeit, es varu darīt, ka tagad. Ja jums ir GitHub kontu un jums nav man teicis savu GitHub lietotājvārdu, tagad ir laiks. Neviens? LABI. Tad es turpināsies. Viss kārtībā. Tātad vispirms parunāsim par kā krātuve darbojas. Jums ir attālo publisku krātuvi. Tas ir tas, ko es biju tikko parāda jums par GitHub. Es izveidojis krātuvi. Tas ir izvietots kaut kur uz GitHub serveriem. Un tā sabiedrības daļa, ikviens var redzēt. Tad ko mēs ejam to darīt, ir, mēs ejam lai izveidotu vietējo privāto versiju par to mūsu atsevišķiem datoriem. Un patiesībā, jūs varat būt daudzi no tiem, kas visu norāda uz to pašu sabiedrisko glabātuvē. Un patiesībā tas ir arī iespējams ir vairākas publiskās reģistriem ka jums patīk, jūs saņemsiet kādu informāciju no šejienes un kādu informāciju no šejienes. Bet tas ir maz ticams, ka attiecīgā Jūsu galīgajiem projektiem vai neatkarīgi. Tāpēc es neesmu gatavojas iet vērā, ka tieši tagad. Bet tā kā jūs saņemsiet no tā, šis tālvadības sabiedriskā krātuve faktiski kam, ka lokālo kopiju? Jūs izmantojat komandu sauc git klons, kas burtiski nozīmē tikai izgatavot kopiju, kā tas izklausās. Un tā, ko jūs gatavojas darīt, ir iet uz glabātavu lapā GitHub. Jūs esat gatavojas kopēt klons URL, SSH klons URL, jo mēs vienkārši izveidot SSH atslēgas. Ja jums nav, jūs varat noklikšķināt nevis uz HTTPS un jūs varat izmantot to. Un tad šeit, savā darbvietā katalogs, jauna git klons, un pēc tam paste. Kad tā lūdz jūs, ja jūs vēlaties lai saglabātu darot to, un saka, jā. Un tagad, ja jūs redzēsiet, tur ir katalogs ar nosaukumu glabātavas, kā un kāpēc, lai seminārā. Un, ja mēs saraksts failus šeit, jūs varat redzēt, ka viņi ir tādi paši faili kas ir uzskaitīti mājas lapā. Tātad, tagad jums ir vietējās kopija glabātavā. Pieņemsim, ka jūs vēlaties, lai faktiski veikt izmaiņas tajā. Visas jūsu izmaiņas GIT ir stored-- kā pamatvienībai sauc izdarīt. Izdarīt ir tikai rieciens darbs, kas jūs esat kopā, un jūs esat teicis GitHub, es gribu saglabājiet to kā, es esmu ietaupot savu darbu, būtībā. Un tas identificē ar to, kas ir sauc izdarīt hash, kas ir būtībā tikai unikāls ID. Bet kā tas ir radīts faktiski, GitHub ir dažas formātu, piemēram, ziņošana visas izmaiņas, kas faktiski iegāja ka izdarīt, un pēc tam tas hashes ka ieraksts par izmaiņām. Tātad izdarīt hash faktiski stāsta Jums, kas notika, ka izdarīt, kādas izmaiņas jūs veicāt. Tātad darīt izdarīt, pieņemsim iet šeit un, ja jūs vienkārši atvērt failu, names.txt, kas jūs varat darīt no komandrindas ar opennames.txt, un tas būs pop up up šeit. Tad jūs varat pievienot savu vārdu. Un tad saglabājiet to. Un tagad, ja jūs tipa Git statusu, jūs varat redzēt ka filenames.txt tika modificēts. Tātad Git zina, ka jūs veicāt izmaiņas. Nekas ir bijis izdarīts vēl. Tātad, lai pateikt GIT, tas ir fails, kas ir izmaiņas tajā ka es vēlos, lai jūs faktiski saglabāt, jums gitaddnames.txt. Un tagad, ja jūs GIT statusu, jums redzēt, ka tas joprojām nav izdarīts. Bet tagad tas zina, ka tas ir mainīt, ka jūs vēlaties izdarīt. Būtībā, kas notiek, ir Jums ir jūsu darba direktoriju, un Git ir indekss, kas ir noticis ar darba direktoriju, ka ir gatava uzņemties saistības. Un tad, kad jūs veikt izmaiņas, viņi savā darba direktoriju. Viņi datorā. Bet tie nav bijuši likt šajā rādītājā vēl. Un tad, kad mēs to GIT pievienot, tas kustas lietas no darba direktorijā. Nu, viņi joprojām darba direktoriju. Bet tas kopijas visiem tiem, izmaiņas šajā rādītājā. Un tā Tad, kad jūs Vai git commit-- kas ir nākamā lieta, mēs esam gatavojas do-- to faktiski apņemas tos un liek tos pastāvīga vēsturi jūsu glabātavā. Un, kad jūs izdarīt, jums vajadzētu vienmēr likts informatīvu izdarīt ziņu. Tāpēc tagad, ja mēs GIT statusu, to saka, tur nekas izdarīt, jo visas izmaiņas, kas Es tagad ir izdarīts. Es esmu gatavojas mest prom nejauša izmaiņas, ka es uz to. Tātad tagad jūs varat redzēt, pieņemsim saka mēs būtībā tikai izgatavoti purpura izdarīt, vai ne? Mēs esam tikai pievienojot to beigās šo vēstures ka agrāk, kad es failu, names.txt, kad es pirmo reizi izveidoja to, varbūt tas bija oranžs izdarīt. Un tā tad tas izdarīt hash zem purpura dimantu būtu kaut indicate-- nav cilvēka lasāmā form-- bet kaut kā norādīt uz GitHub s iekšējie ka mēs, kas šo īpašo pāriet uz failu names.txt. Tātad, tagad jums ir izmaiņas tavā privātā versija glabātavā. Tagad jūs redzat kļūdu iet abos virzienos, un acīmredzot to nebūtu ļoti noderīga ja mēs varētu tikai kādreiz gribētu veikt izmaiņas, kas bija attālajā glabātavā, bet mums nebija iespēju padarot mūsu pašu izmaiņas. Tāpēc mēs vēlamies virzīt mūsu izmaiņas uz attālo glabātuvē. Bet pirms jūs push jūsu izmaiņas repozitorijā, Jums vienmēr ir pull lai pārliecinātos, ka tur nav bijušas kādas jaunas izmaiņas, kas izdarītas laiks kopš jūs vispirms jāizdara izmaiņas. Tāpēc es esmu gatavojas darīt GIT pull, un tā saka jau līdz šim, jo domājams neviens no jums uzstāja, kamēr man bija darīt to. Bet tāpēc tagad es varu darīt GIT push. Un tagad, ja man iet šeit, es varu redzēt, ka pēdējā pieļāvusi tas ir viens, ka es. Ka pārmaiņas tagad tālvadības krātuve. Tāpēc ikviens, kas ir viņu datoru ārā, iet uz priekšu un pievienot savu vārdu. Pārliecinieties, lai vilktu, pirms jūs push, un tad spiediet uz attālo glabātuvē. Un tāpēc mums ir jābūt iespējai redzēt. Tātad iemesls, ka jums vienmēr vēlaties, lai vilktu, pirms jūs push ir tāpēc, ja jūs mēģināt virzīt un jums nav, un jūs esat Trūkst daži izdarīt, kas ir uz tālvadības serveri, tas būs tikai jums kļūda. Bet, ja tas nedeva jums kļūda, tas pārrakstīt ko iepriekšējā persona bija paaugstinājušās. Un jūs nevēlaties zaudēt savu darbu. Tātad, pieņemsim redzēt. Vai kāds gotten šo darbu? Mērķauditorija: [nedzirdama]. ANNA WHITNEY: Kas notiek, ja you-- Mērķauditorija: [nedzirdama]. ANNA WHITNEY: Tātad jūs esat ir problēmas vilkšana. Kas ir kļūda teikt kad jūs mēģināt pull? Mērķauditorija: [nedzirdama]. ANNA WHITNEY: Ir nav kļūda, kad jūs pull. Tas neko nesaka, kad jūs pull? Mērķauditorija: [nedzirdama]. ANNA WHITNEY: OK. Tāpēc es nezinu ļoti daudz par jūsu konkrēto vidi ka jums ir tiesības tur. Bet lai to, kas ir kļūda, ka jums, kad jūs mēģināt virzīt? Mērķauditorija: [nedzirdama]. ANNA WHITNEY: OK. Mēģiniet GIT pull izcelsmes meistars. Tātad, kā šis. Mērķauditorija: [nedzirdama]. ANNA WHITNEY: Atkal, es nezinu ļoti daudz par viņa izstrādes vidē konkrēti. Bet, kad es esmu tikko ierakstot GIT vilktu, tas ir mazliet pārskrienot pāri exactly-- jūs parasti saku, vai jūs varētu nav normāli, bet jūs varat pateikt GIT kur tieši, lai vilktu no. Tātad, kas attālo serveri, lai vilktu no. Jo, piemēram, es teicu, ka varētu būt vairāk nekā viens, kaut arī ne parasti tikai sava Katra diena attīstības praksi. Un mēs runājam Mazliet par filiālēm. Tas ir faktiski Nākamais vieta mēs ejam. Un tā kapteinis būtu nosaukums filiāles. Vai tas palīdzēs? Nē? Es joprojām nedarbojas? Vai kāds cits got tas strādā? LABI. Lai es varētu izlikties. Es varu izlikties, ka es esmu extra cilvēks, bet tu esi nāksies sniegt man Otrs, lai saņemtu šo iestatīšanu. Tātad, ko es daru, ir es esmu creating-- Es esmu klonēšanas repozitorijs uz manu datoru. Bet vispirms man ir pievienot vēl vienu komplektu SSH atslēgas, lai es varētu darīt. LABI. Tāpēc tagad, jā? Mērķauditorija: Tātad zaļais punkts blakus dažas no tām, ko tas nozīmē? ANNA WHITNEY: Blakus SSH atslēgas? Tas nozīmē tikai to, ka es esmu izmanto šos SSH atslēgas nesen. Tātad, pieņemsim darīt to pašu. Tas darbojas tagad? LABI. Mērķauditorija: [nedzirdama]. ANNA WHITNEY: OK. Tāpēc tagad, ja es atvērtu names.txt, Es būtu jāspēj see-- tāpēc jums nācās pārskatīt konflikts. Viss kārtībā. Tātad pieņemsim tikai atbrīvoties no tiem. Mēs runājam par sapludināšanas konflikti tikai sekundi, bet tas ir iemesls, kāpēc jūs vienmēr vēlaties lai pārliecinātos, ka pull strādājis Pirms jūs mēģināt virzīt. Un noteikt jebkādus konfliktus, pirms jūs push. LABI. Bet tāpēc šeit ir piemērs par to, ko jūs tad darīt. Ja es iedziļināties šeit, pārliecinieties, ka Man ir visvairāk atjaunināta izmaiņām, Labi, tagad es esmu tikai gatavojas izmantot šo. Tiesības, OK. Tāpēc es veicis izmaiņas šeit. Man jābūt uzmanīgiem. Man faktiski saglabātu šo. Now-- OK. Tātad tur ir daži dīvaini sīkumi notiek šeit, bet neuztraucieties pārāk daudz par to. LABI. Tāpēc tagad, ja es atvērtu names.txt un es pievienot savu vārdu atkal, Tagad es varu darīt to pašu šeit. Un jūs pamanīsiet, ka tā vietā kā to pievienot un pēc tam izdarīt, Esmu bijis darot uz saīsnes tikai dara Git izdarīt-a un tad m. Kurš, ja jums ir fails, kas jau existed-- citiem vārdiem sakot, Jums nav izveidot jaunu file-- jums nav faktiski ir atsevišķi pievienot to. Jūs varētu vienkārši pateikt GIT, kad es izdarīt, es gribu vienkārši pievienojiet to tieši. Bet, ja esat izveidojis jaunu failu, jums ir konkrēti pievienot, jo citādi Git nebūs izsekot to līdz brīdim, kad konkrēti pateikt to. Sorry? Mērķauditorija: [nedzirdama]. ANNA WHITNEY: Tātad lieta par GIT ir tas, ka, lai sniegt jums tik daudz kontroli pār tieši kādas izmaiņas jūs izmantojat un kuras tu neesi, tas ir dažreiz nedaudz nav lietotājam draudzīgs, kas ir iemesls, kāpēc es esmu šeit. Jo neviens nepieciešams, lai dotu prezentācija par to, kā izmantot Google Docs. Mērķauditorija: Tas ir atkarīgs no auditorijas. ANNA WHITNEY: OK. Neviens nepieciešams, lai sniegtu prezentācija par to, kā lietot Google Docs līdz A ķekars CS50 studentiem. Tāpēc es minēts īsi ka tur ir zari. Un pašā sākumā, ka komikss, kas man parādīja runāja par Git kam koku modeli. Tātad, ko tas nozīmē, ir, teiksim ka krātuves, piemēram, The Way I ir to tieši tagad, ir sarkanā līnija. Un jūs zināt, tas ir izgatavots veido ķekars izdara. Iedomājieties, piemēram, daži garumā gar ka līnija ir līdzvērtīga, piemēram, izdarīt. Vai kaut kas tamlīdzīgs, tur ir ķekars Dažādu apņemas tur. Nav īsti svarīgi, cik daudz. Bet tāpēc pieņemsim, ka tagad man ir izveidota darba gabals programmatūra, kas ir notiek tur. Tā vietā, pārstāvot mūsu maz krātuve, kas ir tikai testēšanai, varbūt tas ir faktiski projekts. Varbūt tas ir jūsu galīgais projekts. Varbūt tas ir gabals programmatūra, kas ir piemēram, faktiski tiek izmantots komerciālos nolūkos. Ja vēlaties pievienot jaunu funkciju, jums nevēlaties, lai izjauktu savu esošo kodu. Tātad, nevis veicot šīs izmaiņas tiesības vidū jūsu darba kodu, Jūs varat izveidot ko sauc filiāle. Un kur filiāle sāk, viss ir identisks savā reģionālajā filiālē, kas sauc meistaru, pēc noklusējuma. Un tad, kā jūs pievienot vairāk apņemas, tie atšķiras. Un jūs varat galu galā, kam vairāk apņemas uz vienu filiāli, nekā otru. Jūs pat varat būt apakšgrupas filiāles nost no citu nozaru. Un tā, ja jūs vēlaties, lai izveidotu filiāle, un filiāles var local-- kas nozīmē, ka viņi tikai uz jūsu datora, viņi tieši Jums personīgi strādā šajā feature-- vai, ja jūs varat push tos tālvadības krātuve un jūs un kāds cits var sadarboties šīs filiāles, sadarboties šo iezīmi, veids, ka jūs uz kapteini. Tāpēc tagad es esmu šobrīd uz galveno filiāli. IDE ir pietiekami gudrs, lai pastāstītu man ne tikai to, ko katalogs es esmu, bet tieši to, ko filiāle es esmu. Tāpēc tagad, ja es gribu, lai izveidotu jauna filiāle, komanda ir mazliet unintuitively Git izrakstīšanās -B, uz filiāli. Un tad vārds, kas man vēlaties, lai dotu filiāli. Tāpēc es esmu gatavojas veikt filiāle sauc Anna filiāle. Un tagad tas saka, ka es esmu par anna filiāle. Un, ja es paskatos šajos failus, tad jūs redzēt, ka viņi ir tieši tāds pats kā tie ir. Es neesmu mainījies nekas dodoties uz filiāli. Bet tagad ļaujiet man teikt, ka es gribu veikt dažas izmaiņas, par šo darbības veidu. Tāpēc man ir šis cits fails, loremipsum.txt, tas ir tikai ieguvuši ķekars buldurēšana vārdi tajā. Tātad, ja es atvērtu šo, pieņemsim, ka es gribu mainīt pirmo vārdu, lai manu vārdu. To var izdarīt par savu. Un tad es to saglabāt. Tagad es esmu gatavojas, lai to aizvērtu tāpēc man nav turēt nejauši rediģējot failus, kad es nedomāju. Tāpēc tagad es varu izdarīt to. Un es neesmu gatavojas virzīt šo izdarīt. Tas ir tikai būs vietējā tagad. Jo šobrīd, tur nav filiāle šeit sauc anna filiālē. Es varētu izveidot vienu. Ja es gribēju dalīties ar savu darbu anna filiāle ar visiem jums, puiši, Es varētu radīt, es varētu virzīt, un Git varētu man pastāstīt, kā izveidot filiāli aicināja Anna filiāle uz tālvadības krātuve. Bet, ja jūs vienkārši strādā pie funkciju un jūs esat vienīgais, kas strādā pie tā, tas ir jūsu iespēja, tad tur nav īpaša iemesla push to uz attālo glabātuvē. Tas var darboties kā rezerves. Bet, ja tu esi diezgan droši, ka Jūsu dators nav mirt, tad ir dažas priekšrocības vienkārši turot to savā datorā. Lai gan es neiešu uz tiem ja vien mums ir kādu laiku beigās. Tāpēc tagad man ir filiāle sauc Anna filiāle. Un ļaujiet man vienkārši izveidot failu. Tas ir veids, kā radīt tukšs failu ar konkrētu vārdu Unix tikai ar pieskārienu komandu. Tāpēc es esmu tikai gatavojas pieskarties failu sauc Anna. Tagad, ja I-- un jūs varat redzēt ka fails ir there-- tā saka, ka tur ir untracked fails. Tāpēc tagad man tev ir jādara GIT add. Un tagad tas zina, ka šis jaunais fails eksistē. Mērķauditorija: [nedzirdama]. ANNA WHITNEY: On anna filiālē. Jā. Tikai sekundi, mēs redzēsim, ka tad, kad Es dodos atpakaļ uz kapteini, tas nav tur. Komanda, lai redzētu esošās filiāles ir Git filiāle, un tā parāda, kurš no jūs par. Tur ir dažādi citas komandas saistīta ar to, ka ļauj darīt dažādas lietas filiālēm, bet tikai Git filiāle pēc savas gribas parādīs, ko filiāle jūs par, un kādas citas filiāles kas ir uz jūsu vietējo mašīna. Tāpēc tagad, lai dotos atpakaļ uz kapteini, man Git izrakstīšanās meistars, bez -B. Jūs izmantojat -B ja esat izveidojot filiāli. Un, ja jūs neesat izveidojot zars, tad nosaukums komandu padara nedaudz lielāka jēga, jo piemēram, ļaujiet man iet izbraukšana meistars un redzēt, kas notiek tur. Tāpēc tagad, ja es to izdarītu, tur nav fails Anna. Ja es atvērt šo failu, jūs varat redzēt ka tur nekādas izmaiņas tajā. Un tā, tagad es varu darīt daži pār šeit izmaiņas. Tāpēc es varu kapitalizēt tas, piemēram. Un es varu pieskarties cits failu sauc meistars. Un tāpēc tagad jūs varat redzēt, man ir dažas izmaiņas, kas man nav iestudēta ka ir loremipsum, un man ir šo jauno failu. Tāpēc tagad es esmu gatavojas pievienot jaunu failu. Un es esmu gatavojas izdarīt. Un atkal, lai gan es pievieno viens fails konkrēti un nebija pievienot failu, kas jau pastāvēja, jo es esmu, izmantojot -A, visi faili, kas jau pastāvējusi saņems rūpēsies. LABI. Tāpēc tagad filiāles ir joprojām. Un filiāle ir joprojām. Es varētu doties atpakaļ uz anna filiāli un parādīs, ka manas izmaiņas šeit meistars nav ietekmēta, bet es jums skaitlis got ideju no brīža, kad es devos apgūt un tā strādāja, ka veidā. Tagad pieņemsim, ka es vēlos, lai faktiski iekļaut šīs izmaiņas stājas meistars. Es pabeidzu savu funkciju. Tas strādā. Esmu testē, tā darbojas. Un tagad es gribu iekļaut šo funkciju galvenajā gabals programmatūru. Tu gatavo vienkāršākais versija par savu galīgo projektu, bet tad jūs faktiski bija nedaudz papildu laiku lai jūs devās atpakaļ un izveidojis šo jauno funkciju, un tagad jūs vēlaties apvienot to, lai jūs faktiski var parādīt to savam TF. Nav pārsteidzoši, šī sauc git apvienot. Un redzējāt agrāk kā jūs var būt sapludināšanas konfliktus, un jūs gatavojas ir, lai tās atrisinātu. Tātad, ja es iet šeit un no master-- tagad es esmu par kapteini un es gribu apvienot In izmaiņas anna branch-- tāpēc es esmu gatavojas darīt Git apvienot Anna filiāle. Un tas vispirms mēģina automerge. Un, ja nebūtu konfliktējošās izmaiņas, ja man bija tikko izveidoja failu Annu uz anna filiāle, un tikko izveidoju failu kapteinis uz galveno filiāli, tad tas būtu vienkārši darīt auto sapludināšanas un tas liktu rezultāts automātiski. Bet, ja jums ir apvienot konflikti, tad jūs ir noteikt konfliktus pirms sapludināšanas var iet uz priekšu. Tāpēc tagad, ja man iedziļināties loremipsum, mēs redzam to pašu ka mēs redzējām iepriekš, ja tur ir divas dažādas izmaiņas. Un es varu piekrist vai nu vienu no tiem. Es pat varat tos būt viens virs otra, ja tas ir jēga par to, ko es daru. Ar kodu, parasti jūs gatavojas vēlēties vienu versiju vai otru ja jūs abi veicis izmaiņas, kas. Šķiet, tāpat tur ir iespējams, jo Šī saskarne, dažas fancy veids, kā man pieņemt vienu komplektu izmaiņas vai otrs. Bet tā kā man nav reāli zināt, kā tas darbojas, Es esmu tikai gatavojas, lai mēģinātu izdarīt, roka, kas nedarbojas tik labi. Tāpēc ļaujiet man darīt, kā man darīt zināt, cik, kas ir [nedzirdama]. Un pieņemsim vienu par meistars, jo mans vārds patiešām nav tik svarīgi, ka tā jāiet viss. Tagad tikai, lai pierādītu, ka tas faktiski darīja to, ko es teicu, ka būtu, tur tas ir. Tāpēc tagad, ja man GIT status-- un jūs varat redzēt, tas zina, ka tas ir iekļauts merge-- tāpēc, ka es mainīja šo failu kam bija sapludināšanas konfliktus tajā, Man ir pievienot to vēlreiz, lai tā zina tas ir droši izdarīt. Tāpēc es esmu gatavojas pievienot to. Un tad es esmu tikai gatavojas darīt izdarīt nevis ieviešot ziņu, jo tas automātiski ģenerēt izdarīt paziņojumu, ka kaut kas par to, kas bija konflikti. Tagad apvienot izdarīt ziņas ne vienmēr ir super noderīga, bet, ja tur nebija kādi konflikti, to vienkārši auto radītu šo ziņu un jūs ne vienmēr ir iespēja rediģēt to. Tas būtu vienkārši automātiski iedziļināties Jūsu izdarīt vēsturi ar šo ziņojumu. Man nav tiešām zināt, kā, ah jā. Tur mēs ejam. Tas ir tikai, tas atver to automātiski teksta redaktoru, kas notiek, ir noteikts kā noklusējuma. Es varētu būt vietā darīts Git izdarīt -M un pēc tam tikai tukša citātu virkni. Un tas automātiski darīt apvienot ziņu bez mani, kam galā ar kāda redaktoru tā uzskata, ka būtu jāizmanto par izdarīt ziņu. Viss kārtībā. Tā, ka bija daudz komandu un daudz tikai informācijām ļoti ātri. Vai kāds ir kādi jautājumi? Es zinu, ka lielākā daļa no jums nav patiesībā ir tā izveidota un darbojas. Mērķauditorija: Tātad tas Annas filiāli joprojām pastāv šajā brīdī [dzirdams]? ANNA WHITNEY: Tātad, ja man git branch-- Tātad jautājums bija, dara to anna filiāle joprojām pastāv tagad, ka es esmu apvienoti to apgūt. Jā tas tā ir, bet es varu izdzēst. Tātad tipisks lieta ir, jā, ja esat izveidojis iezīme filiāle un funkcija ir pilnībā apvienotas meistars, un jūs neesat plānošanu veic vairs strādāt par šo funkciju, Ja esat izveidojis jaunu funkciju vai ja Jums gribēju sākt veidot jaunu funkciju, jūs varētu izveidot jaunu filiāli tikai labad tīrības un organizācijas. Tāpēc tagad, ko es varu darīt, lai izdzēstu ka filiāle ir GIT filiāle -D anna filiāle. Un, ja es nebūtu apvienojās Anna filiāle pirms es centos to darīt, tas dotu man kļūda, sakot, ka Anna filiāle nav pilnībā apvienoti. Citiem vārdiem sakot, izmaiņas, kas bija uz anna filiāle, nav nekur citur. Tātad, ja jūs dzēst filiāli, jūs zaudējat šīs izmaiņas. Bet tāpēc, ka man bija tikko apvienoja to, Git ir pietiekami gudrs zināt, ka Anna filiāle pilnīgi iestrādāti meistars. Un tas faktiski ir iespējams ja jūs tiešām dzēst filiāle Vai vēlaties, lai mest prom izmaiņas. Tas ir iespējams, lai izdzēstu filiāle, kas nav apvienoti. Viss, kas Jums tiešām ir jādara, ir mainīt mazo burtu D tur ar lielo burtu D. Bet tas ir parasti nav laba ideja, kas ir iemesls, kāpēc jums kļūda, ja jūs mēģināt to darīt. Cits jautājums? Mērķauditorija: [nedzirdama]. ANNA WHITNEY: Tātad, ja jums bija tests un ražošanas vide, kā jūs varētu attiekties zarus tiem? Tātad tas bija tikai piemērs filiāle, kas ir par funkciju un tad jums atbrīvoties par to, kad tā ir apvienoti. Tas ir arī iespējams jau sen darbojas filiāles ka jūs izmantojat kādu daļu Tavas attīstības procesā. Lai jūs varētu arī būt testa stenda. Un tur ir visos veidos integrēt citus pakalpojumus hook up un mijiedarbojas ar GIT. Tātad, jūs varētu būt jūsu testa filiāli automātiski palaist testus ar šo kodu. Tātad, piemēram, jums ir jūsu attīstība filiāle, un tad jums ir jūsu produkciju filiāle, un jums ir jūsu testa stenda. Un jūs varētu veikt izmaiņas no attīstības filiāles, kaut kā viņus iekļaut stenda izmantojot kādu darbplūsmas, kas varētu būt apvienot, piemēram, es tikko parādīja. Un tad tu būtu, no tur, tas varētu darboties testus. Jūs varētu būt tas, kas izveidota, lai to dara automātiski, pat. Un tad jūs varētu iekļaut tā savā ražošanas nozarē. Vai tas atbildētu uz jūsu jautājumu? Jebkuri citi jautājumi? Jo no šejienes, mēs ejam no standarta GIT komandām ka jūs noteikti izmantot jebkuru reizi, kad jūs mēģināt darīt projektu un saņemt uz kaut ko, kas ir mazliet vairāk nesaprotams un vairāk kā viens veids, kā darot daži no tās pašas lietas ka mēs esam jau runājuši par. Mērķauditorija: [nedzirdama]. ANNA WHITNEY: Nē, tāpat vairāk neparasts. LABI. Tātad ir visi diezgan skaidri par šo? Par līdz šim, kas ir noticis, un kāpēc tas ir, kā mēs varētu darīt lietas? Vai tas ir jēga? Excellent. Tā vietā, apvienojot vai dažreiz papildus apvienojas, tur ir vēl viens veids, kā iekļaut mainās no vienas filiāles uz otru, un ka sauc par bāzi maina. Un tas ir gandrīz kā pretējs sapludināšanu. Tā bāzi maina ir atšķirīgs no viss, ko mēs esam runājuši par līdz šim jo tas faktiski pārraksta vēsturi. Un daži cilvēki domā, ka tas ir kaut kas Jums vajadzētu nekad darīt GIT. Bet tas ir līdzeklis, kas Git piedāvājumu, tāpēc es esmu par atzinuma ka tas ir pilnīgi labi tik ilgi, kā jūs zināt, kā to izdarīt pareizi. Tas noteikti ir gadījums, ka jūs nekad pārrakstīt sabiedrības vēsturi. Tātad, tas ir tas, ko es biju runājot par agrāk, kad Es teicu, ka ir dažas priekšrocības uz kuriem ir filiāles, kas ir tikai vietējā uz jūsu datora. Tas nozīmē, ka jūs varat izmantot trikus, piemēram, tas, un es iešu uz mazliet vairāk kāpēc jūs varētu vēlēties, lai izdarīt sekundē. Bet tikai masveida atruna, lai sāktu ar, nekad pārrakstīt sabiedrības vēsturi. Tāpēc, ka redzējāt agrāk, kas notiek ja jums nav darīt sapludināšanu pareizi, kad jūs pull. Ja jūs pārrakstīja, ja man bija pārrakstīt vēsturi un tad jūs mēģināt pull, GIT būtu iet crazy ar 1000 kļūdām sakot, ka ir izdarījis misting šeit, ka patīk, jums ir. Bet tad tur ir citi izdara jums nav, ka ir šeit. Tātad tas būtu domāt, ka viss bija vajadzēja jau noticis. Tas neatbilst tam, ko bija uz jūsu datora. Vai nav kādreiz darīt, ka, lai jūsu līdzstrādnieki. Nekad pārrakstīt sabiedrības vēsturi. Bet jūs varat pārrakstīt vietējo vēsturi, un ir daži labi iemesli, kā darīt. Tātad, pirmkārt, to, kas notiek, ja tu Rebase? Pieņemsim, ka man ir kapteinis filiāle sarkana, un tad zilā filiāle zilā krāsā. Kamēr es esmu uz zilā filiāle Es varētu rakstīt git Rebase meistars, tāpēc tas ir sava veida pretējo virzienā no apvienojas. Es esmu bāzi maina uz kapteini. Un tas burtiski nozīmē ka es esmu ņemot apņemas ka es uz zilā filiāle un liekot beigām meistars kā to bāzes. Tātad būtībā kas tas Vai tas ir iekļauti visas apņemas, ka ir noticis par kapteini kopš filiāle punktu kā tad, ja tie bija noticis pirms visu apņemas, kas ir uz zilā veidu. Vai tas konceptuāli jēga? Tātad galvenais iemesls, lai to paveiktu, ir ka tas ļauj jūsu apņemas faktiski kārtot of-- indivīds apņemties var būt vienība darbu un kas var būt skaidrs vēsturē. Un jums nav tās sapludināt apņemas kur tas nav skaidrs kādas funkcijas mēs esam to apvienots vai kādas izmaiņas faktiski tika veikti, jo jums nav pieejams faktiskajām apņemas ka tika veikts pirms apvienošanas, vai ne? Tas nav tas ne vienmēr ir skaidrs, no žurnāla, kas patiesībā, kas ir kaut ko apskatīt. Ja es to izdarītu, jūs varat redzēt žurnālu. Komanda ir tikai iegūt piesakieties, un jūs varat meklēt, izmantojot visus iepriekšējos apņemas. Tātad jūs redzat tur ir cits apvienot izdarīt šeit. Tas ir tas, kas notika, kad jums ir nepatikšanas vilkšana un stumšana agrāk. Tāpēc daži no tiem ir diezgan skaidrs, tie ziņas, ka, piemēram, es pievienoju failu, Scott likt savu vārdu failā. Lietas, piemēram, ka. Bet tad mums ir šie sapludināšanu apņemas, un tas nav īsti skaidrs kas notiek. Bāzi maina ļauj izvairīties no tā. Tātad, pat ja jūs joprojām vēlaties apvienot, pat ja jūs joprojām gribu darīt precīzu tas pats, jūs varat izvairīties kam sapludināšanu izdarīt, jo teiksim that-- tāpēc pieņemsim to izdarītu. Es esmu gatavojas izveidot jaunu filiāli. Un tagad es esmu par šo jauno filiāli. Un es esmu gatavojas veikt dažas izmaiņas šeit, Just izveidot jaunu failu. Viss kārtībā. Un tagad, kad es apvienot, tāpēc es esmu vēl tikai gatavojas apvienot normālu ceļu. Es iešu atpakaļ uz kapteini. Un es esmu gatavojas apvienoties jaunu filiāli. Un jūs redzēsiet, ka tā saka ātri uz priekšu. Tas nozīmē, ka tur bija tikai izmaiņas vienā pusē sapludināšanas. Tātad tas nav jāuztraucas par kas maina man vajadzētu pieņemt. Tas pat nav auto atrisināt konfliktus. Tas nav pat jādomā par to, vai tur ir konflikti. Jo tā zina tur bija apņemas bija tikai pievienota vienā pusē no sapludināšanas. Tāpēc es varu tikai pārvietot vadītājs cits filiāle līdz pēc šiem izdara. Tātad, ko jūs varat darīt ar bāzi maina ir nodrošināt ka visi commits-- žēl, ka visi apvieno ir ātri uz priekšu apvieno. Tātad, ja jums ir vietējās filiāle tikai datorā un jūs esat veikuši ķekars izmaiņas tur, cits attīstība notiek uz kapteini. Visas jūsu līdzstrādnieki, visas jūsu kolēģiem, visiem jūsu projekta dalībnieki ir padarīt viņu Pašu izmaiņas apgūt. Varbūt viņi sākotnēji sākās to izmaiņas filiālēs bet tad viņi apvienojās tos vai kaut kas. Bet izmaiņas ir noticis uz kapteini. Un jūs strādājat par funkciju un tas ir pilnīgi atsevišķā failā, tāpēc nav konfliktu. Jūs varat Rebase savu filiāli, kas ir tikai vietējā jums, uz kapteini. Tātad, tad, kad jūs apvienot to, jums nav jāuztraucas par kādu no šo. Tas ir tikai ātri uz priekšu apvienot. Un tas nav pat izveidot apvienot izdarīt. Tā burtiski vienkārši saka, OK, es varētu nodot visus šos apņemas šajā nozarē arī. Vai tas ir jēga? Vai ir kāda jēga, kāpēc jūs vēlaties, lai to izdarītu, un to, kā jūs vēlaties to darīt? Mērķauditorija: Tātad citiem vārdi, tu saki veikt visu darbu, kas ir bijis darīts apgūt [nedzirdama]. ANNA WHITNEY: Jā, tieši tā. Tātad tas varētu likties mazliet muļķīgi jo tas ir galvenokārt par estētiku. Tas ir arī mazliet par to, ka lietas skaidrākas. Bet tas nav padarīt liela atšķirība to, kā jūs faktiski rakstīt savu kodu. Kaut kas var būt vairāk noderīga regulāru praksi ir tad, kad jūs darāt GIT pull, Jūs varat pievienot šo iespēju, lai to. Ah. Tāpēc, ka man bija ķekars sīkumi, man ir konflikts. Bet, kad jūs darīt Rebase, Jums var būt konfliktu tāpat kā jums ir ar sapludināšanu, un jūs varat atrisināt viņiem tāpat. Bet tā pamatideja ir tā, ka tad, kad es to izdarītu, tā saka pirmo pārtīšanas galvu spēlēt savu darbu uz augšu no tā. Un tas ir burtiski gatavojas pārvietot atpakaļ, tas notiek, lai visiem apņemas ka es tikko izvilka no kur es esmu velk tos, no attālās krātuve, un tad tas ir gatavojas spēlēt savu jauno apņemas uz augšu no tā. Citiem vārdiem sakot, tas notiek piemērot visas izmaiņas. Tātad, ja es vienkārši noteikt this-- interesanti. Varbūt tas ir sistēma atšķirība. Tā ok. Tātad pamatideja ir tāda, ka tagad, ja es paskatos uz žurnālu, Es redzu, ka šis pievienotās manu vārdu vēlreiz. Tātad tas bija tiešām nav before-- sorry, es šo. Pagaidiet. Es esmu nedaudz mulsina par rīkojuma šeit. Bet būtībā, tad Ideja ir tāda, ka tur bija daži apņemas kas bija uz tālvadības krātuve, kas nebija šeit veikts. Kaut kas, kas man bija uzstājām, IT Izskatās, ka varbūt es nejauši uzstājām Anna filiāles. Bet jebkurā gadījumā, kad es velk jebkuri apņemas ka were-- yeah. Skat, kādā brīdī, es nejauši uzstājām Anna filiāles, jo man ir apņemties pievienoto failu Annu. Jūs pamanīsiet, ka tas tagad tur pirms tam. Nē pagaidi. Tas ir no sapludināšanu. Dažreiz tas ir nedaudz grūti spriest par, jo es esmu patiešām nav pārliecināts kāpēc tas deva man ir pretrunā tur. Bet galvenais priekšnoteikums ir tas, ka, ja Man bija ķekars commits-- sorry. Ja citi cilvēki bija veikusi ķekars komandas kapteinis un viņi bijuši uzstājām caur attālo glabātavā, un man bija daži vietējie apņemas, ka es nebija vēl nav uzstājām, un man git pull --- Rebase, tad kad tas velk, tā vietā, lai censtos apvienot, tas mēģināšu Rebase. Un vienīgā atšķirība ir tā, ka tad jūs beigties ar tīrāku izdarīt vēsturi, un šajā gadījumā tā faktiski padara daudz vairāk atšķirību. Jo, ja katru reizi, kad jūs pull jūs ieviešot sapludināšanas izdarīt, tad tas sāk iegūt tiešām neglīts, tiešām ātri. Un tas izpaužas ļoti neskaidrs Ko jūs faktiski dara. Tāpēc es ne vienmēr iesaku jums sāk mēģināt Rebase visiem jūsu Nozares nevis apvienojot tos, vai pirms tos apvienojot. Bet es noteikti ieteiktu ka jūs darāt to, jūs varbūt mēģināt iegūt justies par git pull ar Rebase iespēju, --rebase, jo tas iet tālu, lai Padarīt jūsu izdarīt vēsture skaidrāks, padarot to skaidrs Ko jūs darāt. LABI. Vai kāds ir pēdējā jautājumi Pirms mēs vienkārši pabeigt līdz. Jā? Mērķauditorija: [nedzirdama]. ANNA WHITNEY: Tas nav mans personīgais konvencija, bet tas ir sava veida konvencija, kopumā. Un es nedomāju, ka tas ir faktiski latīņu. Jā, tāpēc daži no tā ir reāls Latīņu, bet tas ir sava veida like-- Mērķauditorija: [nedzirdama]. ANNA WHITNEY: OK. Ļaujiet man redzēt, ja es varētu darīt pareizi. Un tad git log vajadzētu faktiski parādīt kaut ko noderīgu. Labi, tagad. Mērķauditorija: Nu labi, to Izskatās, ka grieķu man. ANNA WHITNEY: OK. Tāpēc tagad ļaujiet man redzēt, ja git Žurnālā redzams kaut kas vairāk noderīgs. So yeah. Tas bija tad, kad es merged-- jā. Tātad izmaiņas bija, kad es apvienoja Jaunā filiāle, un es izveidojis jaunu failu. Un pēdējo reizi man bija uzstājām, es joprojām galvu manu vārdu loremipsum failā. Tātad, kad es noteikti, ka tad tās tika piemēroti pēc, kā tad, ja tie sākotnēji bija darīts pēc tam. Vai tas ir jēga? Ja man bija izveidot savus filiāles sākotnēji mēģināt, lai ilustrētu šī koncepcija, tas varētu būt strādājuši. Bet es nebiju pārliecināts, vai mēs Tika pat gatavojas saņemt to. Visus pēdējie jautājumi? Mērķauditorija: [nedzirdama]. ANNA WHITNEY: Jā. Tai nav jābūt spēj lasīt lietas lai saglabātu tos git repozitorijā. Tāpēc man gadās būt šeit PDF. Tātad jums visiem, pat ja jums nav pierakstīties up GIT, jūs varat izmantot šo izdales materiālu. Tas ir par repozitorija lapā. Atkal, jūs varat lasīt krātuve pat ja jūs neesat līdzstrādnieks glabātavas. Bet jā, man nav īpaši rediģēt PDF formātā, vai ne? Bet, ja es saglabātu jaunu PDF tur, saskaņā ka vārds, es varu izdarīt šīs izmaiņas un virzīt tos uz repozitorijā. Tas bieži vien ir standarta prakse nav jūsu bināros failus dzīvot savā glabātuvē, ja vien viņi gatavojas be-- ja tas ir kaut kas ir kā būvēt savu pieteikumu, Jūs, iespējams atbrīvoties no tā pirms izdarīt, vai nodot tā ārpus glabātavas. Jo īpaši, piemēram, GIT nevar rīkoties ļoti lielus failus, vai īpaši GitHub nebūs ļauj augšupielādēt ļoti liels failus, jo tas ir pārāk daudz slodze uz viņu serveriem. Tas ir arī iespējams izmantot GIT neizmantojot GitHub, un tādā gadījumā jūs varētu izmantot savu, jūs varētu būt spēj saglabāt lielus failus tur ja jums bija savu serveri. Bet tā tas ir vairāk jautājums izmēru, nekā no lasāmību. Jautājums? Mērķauditorija: [nedzirdama]. ANNA WHITNEY: Right. Tāpēc es ātri uz priekšu apvienot ir viens, kur visi jūs darāt ir tikai veikt dažus apņemas no vienas puses sapludināšanas un liekot tos no otras puses. Tātad, ja jūs par kapteini, jums nav mainījušies meistars vispār. Jūs, kas ķekars izmaiņas savā funkciju filiālē, un jūs apvienot ar funkciju filiālē. Jo tur nebija izmaiņas kapteinis, jums varat domāt par to, kā patiesībā meklē tāpat šo attēlu uz leju. Sarkanā bulta nav progresējusi, tāpēc viss jūs darāt būtībā ir pacelt šo augšu. Un tagad saka, OK, tas ir tikai sarkanā bultiņa. Vai tas ir jēga? Un tas ir labi, jo tur nav sapludināšanas izdarīt. Jūs zināt, ka nav gatavojas būt jebkādi konflikti pēc definīcijas. Ja būtu kādi konflikti, jūs jau atrisināts tos ja jūs kaut kas līdzīgs šim. Mērķauditorija: [nedzirdama]. ANNA WHITNEY: Tātad citiem vārdiem sakot, ja jums ir priekšstats, kā šis un jūs ātri uz priekšu sapludināšanu lai visu šo stuff up šeit, tas ir sava veida grūti, lai parādītu to kā es vērsa šīs diagrammas, jo jums būtu vēl divas atsevišķas filiāles, bet tie nebūtu novirzījies vēl. Jūs varat domāt par to kā būtībā piemēram, ja jums ir sarkana bultiņa, kas iet visu ceļu uz šejieni, bet tas ir sarkanā un zilā bultiņu, un lai jūs varat pievienot vairāk apņemas par kādu no tām, un tad viņi būs atšķiras vēlreiz. Bet viņi paši līdz šim punktam. Kādi jautājumi? Viss kārtībā. Nu, liels paldies.