Gitiga töötamise põhitõed. Üksikasjalik tutvustus Gitiga töötamiseks. Kontrollige hoidla olekut

Kui olete otsustanud teha esimesi samme VCS-i (Version Control System) kasutamise suunas, siis peaksite juba aru saama, kui kasulik see asi on. Selliste süsteemide kasutamisel on palju eeliseid, kuid see artikkel ei puuduta seda. Selles artiklis räägin teile, kuidas alustada tööd (Windows 7 all) ühe populaarseima versioonihaldussüsteemiga - Github.

Väga sageli ütleme sõnavabaduses mitte github, vaid lihtsalt git, mis tähendab ressurssi https://github.com, kuid need pole täpselt samad asjad. GitHubi ressurss ise on meie projektide jälgimise ja haldamise süsteemi veebikest. See on omamoodi sotsiaalne võrgustik arendajatele ja mitte ainult PHP, vaid ka muude programmeerimiskeelte jaoks. Mis puutub Giti endasse, siis see on programm, mille me oma arvutisse/sülearvutisse installime.

Alustamiseks peame alla laadima kaks programmi:

  1. msysgit. Uusima versiooni saate alla laadida siit -> Git
  2. TortoiseGit (32-bitine ja 64-bitine)

Kui olete need kaks programmi alla laadinud, alustame nende installimist.

Märge! Kõigepealt peame panema msysgit, ja siis - TortoiseGit

Msysgiti installiprotsess on intuitiivne, seega me sellel ei peatu. Ainus asi on see, et kõik seaded, mida meile installiprotsessi käigus pakutakse, saab jätta muutmata ja jätta vaikimisi.

Märkige üksus, mida näete ülaloleval ekraanil.

Pärast nende pakettide installimist lugege esimene etapp lõppenuks. Teine etapp on juurdepääsu saamine meie Githubi hoidlale.

Esiteks peame registreeruma veebisaidil https://github.com. Sellel saidil registreerimine on lihtne ja ei erine palju sarnastest toimingutest teistel saitidel.

Märge! Registreerumisel palume märkida tegelik e-posti aadress, mida kasutate.

Pärast seda vajame registreerimisel antud meiliaadressi. Kui unustasite ootamatult, millise registreerimisel määrasite, saate seda vaadata jaotises Redigeeri profiili -> E-kirjad (https://github.com/settings/emails) ja näete seda põhiaknas:

Oleme siin valmis, nüüd peame genereerima SSH-võtme. See on teie arvuti digitaalallkiri. Selle võtme saamiseks vajame sama giti. Pärast selle installimist peaks teie töölauale ilmuma Git Bushi otsetee. Sellel topeltklõpsuga käivitatakse konsool.

Märge! Kui teie töölaual seda otseteed pole, saab seda käsurida kutsuda järgmiselt: töölaual tühjas kohas avage hiirega kontekstimenüü ja üksuste loendist leiate sama Giti Bush

Nüüd peate käsureal käivitama käsu:

ssh-keygen -t rsa -C "E-post teie profiililt"

Pärast seda kuvatakse siin teade "Sisesta fail, kuhu võtme salvestada". Praegu jätame kõik nii, nagu see on ja vajutage lihtsalt sisestusklahvi. Nüüd palutakse meil sisestada parool, praegu jätame selle sammu vahele vajutades Enter, kuid hiljem saab selle parooli sisestada iseseisvalt. Pärast seda genereerime kaks faili - üks neist on meie SSH-võti.

Märge! Võimalik, et teil pole installitud moodulit ssh-keygen ja ülaltoodud käsk lihtsalt ei tööta ning selle tulemusena võtit ei genereerita. Sel juhul laadige alla sellised programmid nagu kitt. Lisateavet artiklis Habr -> http://habrahabr.ru/. Või kasutage HTTPS-ühendust.

Kui tegite kõik nendes juhistes kirjeldatud viisil ja protsessi käigus midagi ei muutnud, asuvad failid siin: C:/users/(Kasutajanimi)/.ssh/

Selles kaustas vajame faili ida_rsa.pub, mille peate avama tavalise märkmiku abil ja kopeerima selle sisu lõikepuhvrisse (lihtsamalt öeldes vajutage avatud failis Ctrl+A, seejärel Ctrl+C).

Järgmine seadistusetapp on selle võtme lisamine oma Githubi profiilile. Selleks minge oma profiili sätetesse: Settings -> SSH Keys ja klõpsake nuppu Add SSH key, nagu on näidatud alloleval ekraanipildil.

Teie ees on avanenud kahe väljaga vorm:

  1. Pealkiri

Jätke pealkiri tühjaks, kuid kleepige väljale Võti tekst, mille varem failist kopeerisite ida_rsa.pub.

Palju õnne, järjekordne etapp on läbi. Natuke veel ja saate nautida oma hoidlas töötamist.

Nüüd looge kohalikus hostis eraldi kaust, kuhu teie projekt salvestatakse, ja helistage selle kontekstimenüüsse. Seejärel valige TortoiseGit -> Seaded, nagu on näidatud ekraanipildil:

Vasakul avanevas aknas näete puumenüüd. Peate valima Git -> Config ja kirjutama üles oma nime ja e-posti aadressi täpselt sama, mis Githubis registreerudes märkisite.

Nüüd peame hoidla oma arvutisse kloonima (kopeerima). Selleks minge Githubis loodud hoidlasse ja paremal näete selle aadressi:

Kopeerige see aadress oma lõikelauale. Nüüd helistage oma projekti jaoks loodud kausta kontekstimenüüsse ja valige käsk " Git Clone...":

Avanes aken, kuhu peame kleepima oma hoidla kopeeritud aadressi:

Pöörake tähelepanu väljale Kataloog – mõnikord võidakse lisada mõni muu kaust. Veenduge, et tee oleks teie projektikausta, mitte mõne teise kausta. Nüüd klõpsake nuppu OK. Kloonimine algab:

Gitiga töötamist käsitleva artikli jätk. Õppige faile lisama, siduma ja lükkama >

GitHub – mis see on? See ressurss on tarkvaraarendajatele mõeldud veebipõhine versioonihaldus- ja koostööplatvorm. Tarkvara kui teenuse ärimudeli kaudu tarnitud see käivitati 2008. aastal. Ressurss põhineb Gitil, lähtekoodihaldussüsteemil, mis on loodud tarkvaraarenduse kiirendamiseks.

GitHub on praegu arendajate ja programmeerijate seas populaarseim koodimajutusteenus.

GitHub – mis see on?

Giti kasutatakse projekti lähtekoodi salvestamiseks ja kõigi koodimuudatuste täieliku ajaloo jälgimiseks. See võimaldab arendajatel projekti kallal tõhusamalt koostööd teha, pakkudes tööriistu mitme arendaja võimalike vastuoluliste muudatuste haldamiseks. GitHubiga töötamine võimaldab teil kohandada ja täiustada selle avalike hoidlate tarkvara tasuta, kuid privaathoidlate eest tuleb tasuda, pakkudes erinevaid hinnaplaane. Iga avalik või privaatne hoidla sisaldab kõiki projektifaile ja iga faili muudatuste ajalugu. Hoidlates võib olla mitu töötajat ja need võivad olla kas avalikud või privaatsed.

Kuidas GitHubis töötada?

Platvorm hõlbustab sotsiaalset kodeerimist, pakkudes veebiliidest Giti koodihoidlale ja haldustööriistu koostööks. Seda projekti võib pidada tõsiseks suhtlusvõrgustiku ressursiks tarkvara loojatele.

Kuidas osalejad saavad koos kodeerida, hinnata üksteise tööd, saada värskendusi konkreetsete projektide kohta ning suhelda avalikult või privaatselt.

Kasutajad saavad koostööks oma projekti lisada teisi osalejaid.

Terminoloogia

Kolm olulist terminit, mida arendajad GitHub.com keskkonnas kasutavad, on fork, pull request ja merge.

Kahvel on hoidla, mis on kopeeritud ühe osaleja kontolt teise kontole. See tööriist võimaldab arendajal teha muudatusi ilma lähtekoodi mõjutamata.

Kuna GitHub on intuitiivne ja hõlpsasti kasutatav ning selle versioonihaldustööriistad on koostööks kasulikud, on ressurss muutunud populaarseks erinevate valdkondade spetsialistide, sealhulgas mitteprogrammeerijate seas. Eelkõige hakkasid nad seda kasutama dokumentide ja multimeediaarenduste kallal töötamiseks. Näiteks dokumentatsiooniprojektid, õpperessursid ja muud tüüpi tööd, mille käigus kasutajad saavad võrgus suhelda ja koostööd teha. GitLab on avatud lähtekoodiga alternatiiv GitHub.com-ile.

Tooted ja funktsioonid

Lisaks kuulsale GitHub.com-i tootele pakub SaaS-i asutaja kohapealset versiooni. GitHub Enterprise toetab integreeritud arenduskeskkondi, integreeritud tööriistu ja mitmesuguseid kolmandate osapoolte rakendusi ja teenuseid. Ressurss pakub suuremat turvalisust ja kontrollimisvõimalusi.

Muud tooted ja rakenduse funktsioonid hõlmavad järgmist:


Hajutatud versioonikontrollisüsteemid (DVCS) asendavad järk-järgult tsentraliseeritud süsteemid. Kui te pole mõnda neist veel kasutanud, siis nüüd on aeg proovida.

Selles artiklis püüan näidata, kuidas saate veebisaidi github.com abil kiiresti gitiga katsetama hakata.

Selles artiklis ei käsitleta erinevate DVCS-i erinevusi. Samuti ei käsitleta gitiga töötamist üksikasjalikult, sellel teemal on palju häid allikaid, mille annan artikli lõpus.

Niisiis on sait github.com positsioneeritud veebiprojektide hostimisteenusena, mis kasutab git-versioonikontrollisüsteemi, aga ka arendajate sotsiaalvõrgustikku. Kasutajad saavad luua piiramatul arvul hoidlaid, millest igaüks on varustatud wiki, probleemide jälgimissüsteemi, koodide ülevaatamise võimaluse ja palju muuga. GitHub on praegu kõige populaarsem omataoline teenus, ületades Sourceforge'i ja Google Code'i.

Avatud lähtekoodiga projektide puhul on saidi kasutamine tasuta. Kui teil on vaja privaatseid hoidlaid, saate tasulisele plaanile üle minna.

Alustame registreerimisega. Järgige linki github.com/signup/free ja sisestage oma andmed.
Pärast registreerimist suunatakse meid meie konto juhtpaneelile:

Nüüd pole meil ühtegi hoidlat ja saame luua uue hoidla või hargneda kellegi teise hoidlast ja juhtida oma arendusharu. Seejärel saate soovi korral algse hoidla autorile oma muudatusi teha (tõmbetaotlus).

Kuid kõigepealt installime giti ja konfigureerime selle saidiga töötama.

Kui töötate Windowsiga, laadige alla ja installige msysgit. See on giti konsooliversioon Windowsile (edaspidi põhineb lugu selle OS-i näitel).
Juhised MacOS X jaoks (eng)
Juhised Linuxi jaoks (eng)
Probleeme ei tohiks olla, klõpsake lihtsalt kõikjal Edasi. Pärast installimist valige Git Bash Exploreri kontekstimenüüst:

Või installitud programmiga kaustas oleva Git Bash.lnk kaudu:

Sisestame oma andmed ja reavahetuse sätted konsooli:
git config --global user.name "teie nimi"
git config --global user.email "teie e-post"
git config --global core.autocrlf tõsi
git config --global core.safecrlf true

Muide, soovitan läbida hea interaktiivse giti kasutamise kursuse konsoolist. Kursus läbitakse mõne tunniga ja annab vajalikud algoskused.

Neile, kes eelistavad gui-d, on Windowsis gitiga töötamiseks mitu sellist tööriista. Kaks peamist on SmartGit (platvormideülene) ja TortoiseGit. Mõlemad on head ja kumba kasutada, on maitse asi. Kirjeldan TortoiseGitiga töötamist.
Mooni jaoks on ka giu valik.

  • GitHubi ametlik klient on minu meelest ikka üsna toores.
  • GitX – mulle isiklikult see ei meeldinud
  • GitBox – enamus järgib mac-way, soovitan soojalt proovida

Teave giti kohta vene keeles:
habrahabr.ru/blogs/Git/106912 “Edukas hargnemismudel giti jaoks” - hea ingliskeelse artikli tõlge
githowto.com interaktiivne kursus konsoolist gitiga töötamiseks
habrahabr.ru/blogs/Git/106912 “Miks git” + arutelu
habrahabr.ru/blogs/development/68341 “Git neile, kes rändavad SVN-ist” + arutelu

Git. Kiire algus põhitoimingute kasutamiseks koos selgitustega

Fail(id) on nüüd kindlalt teie töötava kohaliku koopia HEAD-is. Te ei saa neid sealt välja visata, kuid need pole ikka veel teie kaughoidlas. Paneme need ka sinna! Kasuta:

Git push päritolu meister

Lihtsalt kirjutage peremehe asemel soovitud haru nimi. Oh jah, te ei tea veel, mis oksad on. Olgu, jäta see koht praegu meelde ja kui loed hargnemisest, tulge siia tagasi.

Oh jah, lahedate kuttide jaoks, kes töötavad serveritega (näiteks GitHubist on kohane rääkida), on käsk järgmine:

Giti kauglisamise päritolu [server]

Hargnemine

Inglise keeles nimetatakse seda asja hargnemine- parem on sellesse teemasse süveneda ja hargnemise kohta üksikasjalikumalt lugeda, ma lihtsalt tutvustan teile seda. Hargnemine kasutatakse erinevate funktsioonide samaaegseks ja iseseisvaks arendamiseks (noh, või rohkemate vigade kogunemine, kuna lähtekoodi on rohkem). Põhiharu on meister- see ilmub hoidla loomisel. Teised harud on liivakastid; kui olete neid piisavalt mänginud, ühendage need masteris ühtseks tervikuks. Nüüd selgitan, kuidas seda tehakse.

Uue filiaali loomine

Seega otsustasite töötada mõne uue funktsiooni kallal. Looge sellele uus haru:

Git checkout -b [uus_filiaal]

Oh jah, teie kujutlusvõime töötab ilmselt täiel rinnal, kuid olge harude nimetamisel mõõdukas: saate harule nimetada ainult nime, mis on teie lemmikkeele muutuja jaoks vastuvõetav.

Filiaalide vahel vahetamine

Kas ma peaksin selle funktsiooniga töötamises pausi tegema ja teisele harule üle minema? Kasutage (kui töötate kohaliku hoidlaga, ei pea te selle nime määrama):

Git checkout [hoidla]/[filiaal]

Noh, kui te ei soovi sellega üldse töötada, kustutage see täielikult:

Git filiaal -d [filiaal]

Oma haruga saate teha mis tahes väärituid asju: keegi ei näe seda enne, kui lükkate selle kaughoidlasse käsuga:

Git push päritolu [haru]

Harude ühendamine

Haru ühendamiseks praegu töötava filiaaliga kasutage järgmist:

Git merge [filiaal]

Kuid loomulikult toob see kõik kaasa konflikte. Ja see on tõeline probleem. Nii et proovige kõike käsitsi otse hoidla kataloogis parandada. Lihtsalt siis ärge unustage märkida, et olete need "lekkinud":

Git add [failinimi]

Muide, filiaale saab võrrelda:

Git diff [üks_haru] [muu_haru]

Niisiis, asume nüüd otsustavamalt tegutsema. Värskendame oma hoidlat vastavalt viimasele kohustusele. Seda on väga lihtne teha (kuid seda pole väga lihtne tagasi panna, nii et mõelge enne selle kohutava vea tegemist kaks korda):

Hakka tõmbama

Muidugi ma saan aru, et sa oled liiga lahe, et tulevikuks mingeid märkmeid jätta – hoia kõik oma peas –, kuid siiski soovitan sildid jätta. Ja see pole minu leiutis, paljud inimesed teevad seda:

Giti märgend [esimesed_kümme_märki of the_corresponding_commit]

Te ei tea, millised on esimesed tähemärgid soovitud kohustuse nimes? Pole probleemi, vaadake hoidla ajalugu - selle logi:

Selle kasuliku vidina kasutamiseks on hunnik erinevaid parameetreid, mine ja guugelda ise. Ah jaa, muide, me juba kirjutasime sellest kunagi.

Kurat, ma tegin valesti!

Noh, lubage mul nüüd öelda, kuidas oma vigu parandada, kuigi olete kindel, et te neid ei tee. Kui probleem on ainult ühes failis, siis siin on HEAD jaoks Ctrl+Z:

Git checkout -- [failinimi]

Kuid kui probleem on juba kohalikus hoidlas, tühjendage seal kõik ja tagastage versioon serverist:

Git fetch origin git reset --hard origin/master

Jah, kutt, siin on kõik raske. See on git.

Giti funktsioonid

Kui olete laisk ja te ei soovi kõike oma OS-i kesta kirjutada, võite kasutada giti GUI-d:

Leiate hulga teisi GUI-sid.
Kui leiate, et giti standardväljund on igav, värvige see:

Git config color.ui tõsi

Noh, on ka selline asi - interaktiivne indekseerimine. Kui teil on juba üsna suur projekt, saate logis oleva indeksi esituse tihendada järgmiselt:

Git add -i

Loodan, et see juhend aitab teil varajases staadiumis mitte segadusse sattuda giti ja lõpuks õpid oma varukoopiaid jälgima.

Github on väga kuulus platvorm avatud lähtekoodiga projektide lähtekoodi salvestamiseks, levitamiseks ja haldamiseks. Seda teenust kasutavad paljud arendajad üle maailma, sealhulgas suured ettevõtted nagu Microsoft, RedHat ja paljud teised, aga ka sajad paljude populaarsete projektide arendajad.

Platvorm pakub võimalusi mitte ainult koodi vaatamiseks ja levitamiseks, vaid ka versiooniajalugu, koostöö arendustööriistu, dokumentatsiooni, väljalasete ja tagasiside pakkumise tööriistu. Ja parim osa on see, et saate Gihubis hostida nii avalikke kui ka eraprojekte. Selles artiklis vaatleme, kuidas Githubi oma projekti hostimiseks kasutada. Niiöelda github algajatele.

Oletame, et teil on oma projekt ja soovite selle koodi Githubis avalikku omandisse paigutada, et teised kasutajad saaksid seda vaadata ja arenduses osaleda. Esimene asi, mida peate tegema, on konto loomine.

1. Konto loomine

Saidil uue konto loomiseks avage GitHubi põhileht ja saate kohe sisestada uue konto teabe. Peate sisestama kasutajanime, e-posti aadressi ja parooli:

Kui olete sisestamise lõpetanud, vajutage nuppu "Registreeru tasuta":

Järgmises etapis peate valima hoidla tüübi. Avalikud hoidlad on tasuta, kuid kui soovite luua privaatse hoidla, mille kood on saadaval ainult teile, peate maksma 7 dollarit kuus.

Teie konto on valmis ja teid suunatakse lehele, kus saate luua oma esimese projekti. Kuid enne seda peate kinnitama oma e-posti aadressi. Selleks avage oma postkast ja järgige Githubi meilis olevat linki.

Githubi seadistamine pole vajalik, piisab vaid mõnest klõpsust.

2. Hoidla loomine

Avaneval lehel, see on volitatud kasutajate põhileht, klõpsake nuppu "Alusta projekti":

Saate hoidla kohe initsialiseerida, luues Readme-faili, märkides ruudu "Initsialiseeri see hoidla README-ga" lehe allservas. Samuti saate valida litsentsi:

Kui olete valmis, valige "Loo projekt", luuakse uus projekt README-failiga, mis sisaldab kirjeldust ja litsentsifaili.


3. Okste lisamine

Githubi filiaalid võimaldavad teil töötada korraga mitme projekti versiooniga. Vaikimisi luuakse hoidla loomisel põhiharu, see on peamine tööharu. Täiendavaid harusid saab luua näiteks tarkvara testimiseks enne selle avaldamist põhiharus. Nii saate samaaegselt arendada toodet ja pakkuda kasutajatele stabiilset versiooni. Samuti saate erinevate süsteemide jaoks luua programmi versiooni jaoks eraldi harud.

Praegune haru on näidatud ülemises vasakus nurgas pärast sõna "Osakond". Uue haru loomiseks lihtsalt laiendage seda loendit ja alustage selle nime tippimist:

Sait ise palub teil luua uue lõime, valige "Loo haru".

Vahetult pärast loomist töötate vastloodud filiaaliga.

4. Faili muudatused ja sissekanded

Kõik Githubi failide muudatused tehakse sissekannete abil. Kinnitamine saavutatakse paranduste ise tegemise ja nende paranduste kirjeldamisega. See on vajalik selleks, et teaksite, mida ja millal muutsite, ning hõlbustaks ka meeskonna töö jälgimist. Sõna commit võib tõlkida kui "parandada". See tähendab, et saame teha muudatusi mitmes failis ja seejärel need kinnitada. Muudame näitena faili README. Selleks leidke paneeli paremalt küljelt pintsliga nupp ja klõpsake sellel:

Avaneb tekstiredaktor, kuhu saate sisestada vajalikud parandused:

Kui olete kõik vajaliku teinud, peate täitma välja "Pühenduma" lehe allservas. Kirjeldage lühidalt, mis on muutunud, ja seejärel klõpsake nuppu "Tehke muudatused sisse":

Need muudatused tehakse projekti praeguses harus, kuna hetkel töötame testimisega, saadetakse muudatused sinna.

5. Tõmbetaotluste loomine

Algajatele mõeldud GitHub võib just selliste funktsioonide tõttu tunduda väga keeruline, kuid see on väga mugav, kui olete selle välja mõelnud. Ühendustaotlus või tõmbamistaotlus on funktsioon, mille abil iga arendaja saab paluda teisel, näiteks hoidla loojal, oma kood üle vaadata ja lisada see põhiprojekti või haru. Ühendustaotluse tööriist kasutab erinevuste võrdlustööriista, nii et näete kõiki muudatusi, need on erineva värviga alla joonitud. Tõmbetaotluse saab luua kohe pärast kohustuse loomist. Saadame tõmbetaotluse meie testimisharust põhikontorisse. Kõigepealt avage vahekaart "Tõmma taotlus".

Kliki siia "Loo tõmbamistaotlus":

Selles aknas saate vaadata kõiki muudatusi, nüüd näeme, et rida on lisatud:

6. Vaadake üle ja kinnitage liitmistaotlused

Nüüd näeme samal vahekaardil Tõmbetaotlused äsja loodud liitmistaotlust ja meil tuleb vaid see nõustuda, klõpsates nuppu "Ühenda tõmbamise taotlus":

Aga kui see päring tuli teiselt inimeselt, siis tuleb kontrollida, mida ta seal muutis ja kas see on vajalik.Selleks klõpsake lihtsalt päringu kirjeldusel ja näete juba tuttavat muudatuste vaate akent:

Seejärel imporditakse kood põhiharusse ja testimisharu saab turvaliselt kustutada.

7. Veaaruanded

Veel üks mugav asi on see, et GitHubi saab kasutada mitte ainult koodi arendamiseks ja haldamiseks, vaid ka kasutajatelt tagasiside saamiseks. Vahekaardil "Probleem" Kasutajad saavad postitada sõnumeid teie toote kasutamisel ilmnenud probleemide kohta. Avage vahekaart "Küsimused" ja klõpsake nuppu "Uus number":

8. Väljalasked

Viimane asi, mida me täna vaatame, on väljalasked. Kui toode on jõudnud teatud staadiumisse, saate välja anda väljalaske, et kasutajad saaksid olla kindlad, et seal on kõik stabiilne ja keegi ei rikkunud Masteris vale Pull Request'iga midagi. Kõigepealt peate minema projekti avalehele ja seejärel vahekaardile "Release":

Sellel lehel peate väljale määrama versiooni "Märgendi versioon", seejärel väljalase nimi ja lühike kirjeldus. Kui olete koostanud binaarfailidega arhiive, siis peate need ka siia lisama. Seejärel klõpsake "Loo väljalase":

Pärast väljalase loomist luuakse järgmine leht:

järeldused

Selles artiklis vaatlesime, kuidas kasutada GitHubi oma projekti hostimiseks ja haldamiseks. Kogu süsteem on inglise keeles, nii et algteadmised keelest on väga soovitavad, kuid isegi ilma selleta pole githubiga töötamine kuigi keeruline. Loodan, et see teave oli teile kasulik. Kui olete huvitatud sellest, kuidas Gitiga käsurealt töötada, vaadake algajatele mõeldud artiklit.