Git. Kiire algus põhitegevuse kasutamise kohta selgitustega

Selles kirjeldatakse GIT-i paigaldamise ja registreerimise küsimuse praktilist osa GitHub.com serveris.

GitHutb.com on teenus, mis pakub oma koodi ja andmete salvestamist versiooni juhtimissüsteemi abil. Git.. GitHub pakub tasuta tariifiplaani 300MB andmete salvestamiseks avatud kujul. See tähendab, et iga Interneti kasutaja saab teie andmeid alla laadida. GitHubis saab paigutada ja suletud teisele hoidlasse, makstes $ 7 kuus. Tasuta GitHubi kontol vaikimisi ei saa keegi teie andmeid muuta (saab lugeda ainult). Kuid saate nõuda, kes Githebi süsteemi kasutajatelt on õigus salvestada.

Artiklis kirjeldatakse üksikasjalikult, kuidas teha GIT seadistust Windowsis ja Linuxos OS-is.

Giti paigaldamine Linuxi all

Linuxi kasutajad, ma arvan, et see ei ole mõtet selgitada, kuidas Giti installida - seda tehakse erinevalt. Debian süsteemis (mis on minuga väärt), et installida GIT-i, saate käsku kasutada:

apt-get install git

GIT-i installimine akende all

Me läheme ametliku giti lehele http://git-scm.com, klõpsake nuppu Allalaadimine Windowsi jaoks. Avaneb aknas, klõpsake nuppu Täielik paigaldaja ametliku git jaoks. Käivita EXE-SHNIK.

Paigaldamise protsessis küsitakse seda küsimust:

Soovitan valida "Käivita Giti Windowsi käsureale". Kõiki muid võimalusi saab vaikimisi jätta. Pärast GIT-i installimist peate kasutajate seansi taaskäivitama või täitma ja sisse logima teede süsteemi muutuja muutuste kasutamiseks.

Kui te saate teavet versiooni kohta, siis on GIT paigaldatud ja töötab. Kui me saame teavet, mida GIT-programmi ei leitud, me mõistame, mida nad valesti tegid.

SSH-klahvi seadistamine

Enne GitHubi registreerimist peaksite kõigepealt looma SSH-võtme krüpteerimise. See võti on vaja kiiresti installida ühendus GitHubiga ilma parooli sisestamata. Ilma sellise Githebi võtmeta ei ole see lihtne töötada.

Tähelepanu!

Peamise põlvkonna ajal taotletakse parooli. See parooli juurdepääs suletud võti, mis on salvestatud ainult teie auto ja kusagil mujal. See parool on seatud maksimaalsete väärtpaberite jaoks, kuigi saate ilma selleta teha. Sa pead teadma, et parooli seadistades privaatvõti, peate sisestama selle parooli iga Githubi serveriga. Seega, kui parool määrab, kaob kõik krüpteerimisvõtmete kasutamise mugavused.

Mytetra kasutajad: Käsureaga töötamise liides, mida kasutatakse sünkroniseerimise ajal glit helistamiseks, ei saa töö sisestamisel töötada. Seega, kui määrate parooli, ei tööta sünkroniseerimine.

SSH-võtmete seadistamine Linuxis

Linuxi operatsioonisüsteemis tuleb kõigepealt uurida ~ / .sh-kataloogi. Kui on ID_RSA-faile ja ID_RSA.pub, siis see on SSH-võtmed. Kui sellist kataloogi või selliseid faile ei ole, siis tuleks klahvid tekitada. Olgu meeskond:

Selle asemel [E-posti kaitstud] Te peate oma e-kirja täpsustama. Võtmetootmise protsessis küsite, kust faile panna, vajutage lihtsalt ENTER. Parooli taotlemisel vajutage ENTER. Pärast põlvkonda, ID_RSA ja ID_RSA.PUB-failid peaksid ilmuma ~ / .sh kataloogi, nad sobivad meile hiljem.

SSH-klahvide seadistamine Windowsis

Windowsi operatsioonisüsteemis on SSH-võtme generaator kaasatud GIT-paketile. Võtmete genereerimiseks peate toimima faili käivitamiseks C: Programmi faile \\ git \\ glit bash.vbs. Seda saab käivitada tavalise exe-shnik. GIT-konsooli programm avaneb. See peab olema meeskond:

sSH-Keygen -t RSA -C " [E-posti kaitstud]"

Olge selles konsoolis ettevaatlik, siis märkate politseinik varem, sisestage lihtsalt käsk käsitsi. E-kirjana määrake oma postkasti. Nõudmisel " Sisestage klahvi salvestamiseks fail"Lihtsalt vajutage ENTER. Parooli taotlemisel" Sisestage parool "ja" sisestage uuesti sama parool "Lihtsalt vajutage ENTER. Sisselülitamisprotsessis konsooli klahvide genereerimise protsessis väljastatakse ligikaudu järgmine teave:

Avaliku / Private RSA võtmepaari genereerimine.
Sisestage faili, kus klahvi salvestamiseks (/ C / Dokumendid ja seaded / Kasutajanimi / .sh / ID_RSA)
Sisesta parool (tühi ilma paroolita):
Sisestage sama parool uuesti:
Teie identifitseerimine on salvestatud / c / dokumentides ja seadetes / kasutajanimi / .sh / id_rsa.
Teie avalik võti on salvestatud / c / dokumentides ja seadetes / kasutajanimi / .sh / id_rsa.pub.
Key sõrmejälg on:
51: db: 73: E9: 31: 9F: 51: A6: 7A: C5: 3D: Da: 9C: 35: 8F: 95 [E-posti kaitstud]

Pärast selle programmi täitmist kataloogi C: dokumendid ja seaded kasutajanime \\ t ID_RSA ja ID_RSA.PUB-failid asuvad, nad on meile hiljem kasulikud.

Registreerimine GitHub.com-is.

Nüüd on kõik registreerimiseks valmis. Minge GitHub.com'i alguslehele. Liides on natuke segaduses, nii et ma annan pressitud paari ekraanipilte. Disain ja paigutus saab igal ajal muuta, nii et ma kirjeldan praegu toimingu loogikat.

Ülaosa menüüs Leia kirje " Hinnakujundus ja registreerimine."Ja klõpsake seda:

Avaneb tariifiplaani valiku lehekülg. Vali tasuta konto " Loo tasuta konto":

SSH-võtme paigaldamine GitHubis

Vahetult pärast registreerimist on vaja registreerida oma avaliku võtme krüpteerimisvõtme Guthubisüsteemis (avatud SSH-võti). Võti lisamiseks peate klõpsama üleval paremas nurgas. " Konto seaded":

Avaneb aknas, peate klõpsama menüüelementi " SSH avalikud võtmed."ja klõpsake" Lisa teine \u200b\u200bavalik võti". Kuvatakse kaks välja - võtme nimi ( Pealkiri) ja põhisisu ( Võti).

Valdkonnas Pealkiri Võite kirjutada nime arvuti, mille avaliku võtme loodud. Te saate kirjutada vene keeles.

Valdkonnas Võti Te peate sisestama ID_RSA.PUB-faili sisu. Pidage meeles, millises kataloogis nad on? Minge sellesse kataloogi, avage iga tekstiredaktori ID_RSA.PUB (see on .pubi pikendamisega, ärge segage). Me tõstame esile kogu teksti teksti, kopeerimise ja sisestate GitHubi lehele Võti.

Pärast klahvi lisamist saab arvuti ühendada Githubiga GIT-programmi kaudu ja vigu ei tohiks tekkida.

Hoidla loomine GitHubis

Nüüd on aeg luua oma esimese hoidla GitHubis. Hoiatust saab vaadelda lihtsalt kataloogi, milles sünkroniseeritud failid ja alamkataloogid valetavad. Sa pead looma hoidla GitHub Web Interface ja saate juba täita selle faile ja töötada koos sellega, kasutades GIT programmi arvutis.

Et luua hoidla, peate klikkima ülemises paremas nurgas " Armatuurlaud.". Avatud aknas näete punkti" Loo hoidla.":

Niisiis, me ei vaja seda toodet! See üksus avab mitte hoidla loomise dialoogi ja abi lehekülge. Selle asemel, et klõpsate selle elemendi klõpsamise asemel, otsime alltoodud lehel ebatõenäolse lingiga " Loo hoidla.". Ta avab ka dialoogi uue hoidla lisamiseks.

Uue hoidla dialoogi lisamisel peate täitma vähemalt projekti nime " Projekti nimi.". Projekti nimel on parem kirjutada kirillitsat, kuna projekti nimi on kataloogi nimi. Probleemide vältimiseks sisaldab projekti nimi ainult ladina. Pärast nupu vajutamist" Loo hoidla.", hoidla luuakse.

Nii moodustub GitHub süsteemi hoidlasse tööviide. Kui olete registreerinud nimi kasutajanime ja teie hoidla nimetatakse reponame, siis saate kasutada järgmisi linke selle hoidla juurdepääsuks:

Giti süntaksis:

[E-posti kaitstud]: kasutajanimi / reponame.git

HTTPS-i süntaksil:

hTTPS: // [E-posti kaitstud]/Username/reponame.git.

Töötage GitHubi hoidla kaudu GIT programmi kaudu

Nüüdsest saab GitHubi veebiliidese ümber tantse kaaluda täielikuks. Seejärel saate töötada ainult GIT-programmi abil.

Alguses peate tegema GIT programmi väikese seadistuse: Määrake kasutaja ja e-posti kohalik GIT-süsteem. Seda tehakse järgmised käsud, mida saab teha igas kataloogis:

git config --global kasutaja.Name "yourfullnme"
GIT Config --Globali kasutaja.Email [E-posti kaitstud]

kui selle asemel oled oma nimi, peate kirjutama oma nime ja selle asemel [E-posti kaitstud] - sinu email. Neid väärtusi kasutatakse sisselogimiseks GitHubis. Seetõttu peate täpsustama oma sisselogimise GitHubis - kohapeal [E-posti kaitstud] Peate määrama e-kirja, mis sisestate krüpteerimisvõtmete genereerimisel.

Pärast neid seadeid saate oma faile hoidlasse valada. Minge oma projektiga kataloogi ja andke meeskondadele:

git toime -A -M "esimene toime"

gIT Remote Lisa päritolu [E-posti kaitstud]: kasutajanimi / reponame.git

git push -u päritolu kapten

Pärast neid käske koopia failide kataloogi on moodustatud GitHub Server, kus käsu andmed viidi läbi. Järgmisena saate juba teha kohustusi, täitke GitHub Server muudatused, lugege serverist muudatusi. Aga see on täiesti erinev lugu.

Inimestele, loomulikult vastupanu muutustele. Kui git ei vastanud, kui alustasite versioonide juhtimissüsteemidega töötamist, tunnete ilmselt Subversioni süsteemis mugavam (SVN).

Sageli inimesed ütlevad, et git on liiga keeruline algajatele. Sellegipoolest ma luban mul sellega nõus olla.

Selles õppetund, ma ütlen teile, kuidas kasutada Giti oma projekte. Oletame, et loote projekti nullist ja soovite seda hallata git abil. Olles kõndis suurte käskude loendist, saate ülevaate sellest, kuidas oma koodi pilve paigutada Githubi poolt.

Selles artiklis räägime git põhitõdesid - kuidas oma projekte alustada, kuidas hallata uusi ja olemasolevaid faile ning kuidas salvestada oma koodi pilvele.

Me ei puuduta suhteliselt keerulisi giti osad, näiteks hargnemist, kuna see õppetund on mõeldud algajatele.

GIT-i installimine.

Ametliku veebilehe GIT on detailne infoselle paigaldamise linux, Mac ja Windows. Meie puhul kasutame Ubuntu 13.04 näidata, et installida git kasutades apt-get:

sudo apt-get install git

Algseade

Loome kataloogi, mille jooksul me töötame. Teise võimalusena saate kasutada ühe olemasoleva projekti haldamiseks giti; Sellisel juhul ei pea te looma demo kataloogi, nagu allpool näidatud:

mkdir my_git_project cd my_git_project

Esimene samm on kataloogi git initsialiseerimine. Seda saab teha kasutades init käsk, mis loob .git kataloogi, mis sisaldab kogu oma projekti gitiga seotud teavet.

git config --global kasutaja.Name "Shaumik" git config --global kasutaja.email " [E-posti kaitstud]"GIT Config --Global Color.ui" Auto "

Oluline on märkida, et kui te ei täpsusta oma nime ja e-posti aadressi, kasutatakse vaikimisi väärtusi. Meie puhul oleks vaikimisi väärtused Donny Kasutajanimi ja e-posti aadress [E-posti kaitstud].

Lisaks seadme kasutajaliidese värvi automaatse väärtuse, nii et GIT-käsu väljundil on värvi taustvalgustus.

-Global eesliide on vajalik selleks, et mitte sisestada need seaded käsud järgmine kord käivitamisel GIT projekti meie süsteemi.

Failide ettevalmistamine toime

Järgmine samm on failide loomine kataloogi. Võite kasutada näiteks VIM-i tekstiredaktorit. Pange tähele, et kui te lisate olemasolevale kataloogile GIT-i lisamiseks, ei pea te seda sammu tegema:

Kontrolli hoidla staatust

Nüüd, kui meil on meie hoidlas mitu faili, vaatame, kuidas git nende juurde pöördub. Praeguse hoidla staatuse kontrollimiseks peate kasutama GIT-oleku käsu:

Failide lisamine GIT-ile jälgimiseks

Praegu meil ei ole faile jälgida kasutades git. Me peame lisama faile konkreetselt GIT-i, et täpsustada glit, mida peate jälgima.

Lisage failide lisamisega failid:

Pärast hoidla seisundi kontrollimist näeme, et üks fail lisati:

Mitme faili lisamiseks saate kasutada järgmist käskude kirje (märkida, et me oleme lisanud demonstreerimise jaoks teise faili):

gIT Lisa myfile2 myfile3

Võite kasutada git Lisa rekursiivselt, kuid olge selle käsuga ettevaatlik. On teatud faile (näiteks koostatud failid), mida tavaliselt salvestatakse väljaspool GIT-hoidlast.

Kui kasutate add käsk rekursiivselt, lisab see kõik sellised failid, kui need on teie hoidlas.

Failide kustutamine

Kuid lihtsa git RM-käsku täitmine kustutab faili mitte ainult gitist, vaid ka teie kohaliku failisüsteemist! Et

GIT lõpetas faili jälgimise, kuid fail ise säilitatakse kohalikus süsteemis, käivitage järgmine käsk:

git rm --cached

Muutusi tegema

Pärast failide paigutamist saate neid järgida git. Kujutage ette, et pühendumus on teatud punkt, millele saate oma hoidla juurdepääsu sellele etapis juurde pääseda.

Te võite seostuda iga komiteega sõnumi, mis lisatakse eesliide -M-i abil:

git toime -m "minu esimene toime"

Edendab kasulikke sõnumeid, sest see aitab teil kindlaks teha, mida olete selles com-is muutunud.

Vältige liiga tavalisi sõnumeid nagu " Fikseeritud vead" Kui teil on ülesande tracker, saate lisada sõnumeid " Fikseeritud viga # 234».

Hea tava on kasutada filiaali nime või funktsiooni nimetuse nimetuse aruandele prefiks. Näiteks, " Varahaldus: lisatud funktsioon PDF-i varade failide loomiseks"On sisukas sõnum.

GIT identifitseerib kohustub, lisades igale toimele pika kuueteistkümnendmehe numbri. Reeglina ei pea te kogu stringi kopeerima, et määrata kindlaks teie pühendumine piisavalt esimese 5-6 tähemärgi.

Pange tähele, et ekraanipildi määrab meie esimene toime 8DD76FC koodiga.

Edasine kohustub

Nüüd vahetame meie esimest toimet mitu faili. Pärast nende muutust näeme, et GIT-i staatuse GIT-i käsu täitmise tulemusena avastasin ma selle jälgimise failide muutused:

Saate kontrollida viimasel kommentaaris tehtud jälgimisfailide muutusi GIT Diff käsu abil. Kui soovite vaadata konkreetse faili muudatusi, kasutage GIT Diff käsk :

Järgmise toimepanemise jälgimise failide jälgimise muutmiseks peate need failid uuesti lisama. Võite lisada kõik jälgitavad failid käsu käitamisel:

Võite vältida selle käsu kasutamist GIT-i käsu eesliiteseadme abil, mis lisab failide jälgimise kõik muudatused.

See protsess on siiski väga ohtlik, kuna see võib projekti kahjustada. Näiteks ütleme, et sa avas faili ja muutsite selle ekslikult.

Kui valite faile selektiivselt, märkate iga faili muutusi. Aga kui lisate oma pühendumuse eesliide -a, siis kõik failid valks ja te ei suuda tuvastada võimalikke vigu.

Pärast failide postitamist saate jätkata toime. Mainisin, et sõnum, mida me tutvustame eesliide -m-ga, võib iga komiteega seostada.

Siiski on võimalik sisestada sõnumi mitu rida, kasutades Giti toime käsku, mis avab salvestuse interaktiivse vormi:

Projekti juht

Projekti ajaloo vaatamiseks saate täita järgmise käsu:

Seega kuvatakse kogu projekti ajalugu, mis on nende kõigi kohustuste ja teabe loend. Teave kulukohustuse kohta sisaldab Kesh kohustuste koodi, autorit, aega ja kommutatsioonisõnumit. Giti logi jaoks on erinevaid võimalusi, mida saate uurida niipea, kui kaalutakse filiaali (filiaali) kontseptsiooni GIT-is.

Et vaadata üksikasjalikku teavet konkreetse kaubanduse ja muudetud failide kohta, käivitage järgmine käsk:

gIT Show.

kus See on heksadecimal arv seotud toime. Kuna see õppetund on mõeldud uustulnukate jaoks, ei pea me kaaluma, kuidas minna tagasi teatud kohustuse või filiaalide juhtimise seisundi juurde minna.

Koodi paigutus pilves

Nüüd, kui sa õppisid, kuidas oma süsteemi koodi hallata, on aeg koodi pilve paigutada.

GitHub on väga tuntud platvorm avatud projektide lähtekoodi salvestamiseks, levitamiseks ja haldamiseks. See teenus kasutab paljusid arendajaid kogu maailmas, mille hulgas on suured ettevõtted, näiteks Microsoft, Redhat ja paljud teised, ka paljude populaarsete projektide arendajad.

Platvorm pakub võimalusi mitte ainult koodi ja selle levitamise vaatamiseks, vaid ka versioonide ajaloost, ühiste arendusvahenditest, dokumentide esitamise, vabastamise ja tagasiside andmise vahenditest. Ja kõige huvitavam asi, mida saate paigutada Gihubile nii avatud kui ka eraprojektidesse. Selles artiklis vaatame GitHubi kasutamist oma projekti majutamiseks. Nii et rääkida, GitHub algajatele.

Niisiis, ütleme, et teil on oma projekt ja soovite panna oma koodi Githubis üldsusele juurdepääsu teistele kasutajatele võib seda näha ja osaleda arengus. Esimene asi, mida pead tegema, on konto loomine.

1. Konto loomine

Uue konto loomiseks saidil avage GitHubi põhitegevus ja kohe saate uue konto andmete kohe sisestada. Teil on vaja määrata kasutajanime, e-posti ja parooli:

Kui olete lõpetanud kirje, klõpsake nuppu "Registreeru tasuta":

Järgmisel etapil peate valima tüüpi hoidla. Avalikud hoidlad on vabad, kuid kui soovite luua era hoidla, kood, mis on saadaval ainult teile, peate maksma 7 dollarit kuus.

Konto on valmis ja teid suunatakse lehele, kus saate luua oma esimese projekti. Aga enne saate seda teha, peate kinnitama oma e-posti aadressi. Selleks avage postkast ja järgige GitHubi kirjas linki.

GitHubi seadistamist pole vaja, vaid mõne hiirega klõpsake.

2. Hoiatuse loomine

Leheküljel, mis avaneb, see on volitatud kasutajate peamine leht, klõpsake nuppu "Projekti käivitamine":

Saate hoidla kohe alustada, luues README-faili selle eest, et peate mainima märkmeid "Alustada selle hoidla Readme'iga" lehe allosas. Samuti saate valida litsentsi:

Kui kõik on valmis, valige "Loo projekt"Uus projekt luuakse README-failiga, mis sisaldab kirjeldust ja litsentsifaili.


3. Filiaalide lisamine

GitHub oksad võimaldavad teil töötada mitme projekti versiooniga samal ajal. Vaikimisi luuakse hoidla loomisel magistriõpe, see on peamine tööharu. Võite luua täiendavaid oksad, näiteks selleks, et testida tarkvara enne selle avaldamist Master Branch. Seega saate samaaegselt arendada toodet ja pakkuda kasutajatele stabiilset versiooni. Erinevate süsteemide programmi versiooni jaoks saate luua ka individuaalseid filiaale.

Praegune haru on märgitud ülemises vasakus nurgas pärast sõna "Branch".Uue haru loomine lihtsalt kasutage seda nimekirja ja alustage oma nime kirjutamist:

Sait soovitab teil luua uus haru, valige "Loo filiaal".

Kohe pärast loomist, siis töötavad just loodud filiaali.

4. Failide muutmine ja kohustuste muutmine

Kõik GitHubi failide muudatused tehakse toime pandud. Kohus tehakse paranduste tegemise ja nende paranduste kirjeldamise teel. See on vajalik selleks, et te teaksite, et ja kui sa muutusid ja muudab ka meeskonna töö jälgimise lihtsaks. Sõna jagamist saab tõlkida kui "Fix". See tähendab, et saame teha muudatusi mitme faili ja seejärel neid parandada. Let's muuta readme faili näite. Selle tegemiseks leidke nupp, millel on paneeli paremas servas ja klõpsake seda:

Tekstiredaktor avaneb, kus saab sisestada õigsust vajate:

Pärast seda, kui te kõik vajate, peate täitma põllu "Paondu" lehe allosas. Kirjeldage lühidalt, mida on muudetud ja seejärel klõpsake "Muudatused":

Need muudatused kantakse projekti praeguse filiaali, sest me töötame praegu katsetamisega, seejärel saadetakse muudatused sellele.

5. Ühinejate päringute loomine (tõmmake taotlus)

GitHub algajatele võib tunduda väga raske, sest selliseid funktsioone, kuid see on väga mugav, kui sa aru see välja. Konverentsi taotlus või tõmbetaotlus on võimalus, tänu, millest iga arendaja võib küsida teist, näiteks hoidla looja, et vaadata selle koodi ja lisage see peamisele projektile või filiaalile. Fusioonitaotlustega töövahend kasutab diff võrdlemisvahendit, et näete kõiki muudatusi, mida nad rõhutavad teise värvi. Tõmbetaotlust saab luua kohe pärast toime loomist. Saadame tõmbetaotluse meie testimise oksad peamine. Esiteks avage vahekaart "Tõmmake päring".

Siin klõpsake "Loo tõmbetaotlus":

Selles aknas saate vaadata kõiki muudatusi, nüüd näeme joont:

6. Vaadake ja kinnitage termotuumapindade

Nüüd, sama tõmbe taotluste tab, me just tegi taotluse ühinemise ja me saame võtta ainult klõpsates "Merge Tõmmake päring":

Aga kui see taotlus tuli teisele isikule, peate kontrollima, kas ta muutis seal ja kas seda on vaja seda teha, klõpsa päringu kirjeldusele ja näete tuttavat muudatuse vaate aken:

Seejärel imporditakse kood põhiosasse ja katsetamine haru saab ohutult eemaldada.

7. Veateated

Samuti on mugav, et on võimalik kasutada GitHub-i mitte ainult koodi arendamist ja hallata, vaid ka kasutaja tagasisidet. Vahekaardil "Probleem" Kasutajad saavad jätta sõnumeid probleeme, millega nad teie toote kasutamisel tekkisid. Avatud vahekaart "Küsimused"ja klõpsa nupule "Uus probleem":

8. Väljaanded

Viimane, et me täna kaalume, on väljaanded. Kui toode on jõudnud teatud etappi, saate vabastada kasutajatele vabastamise ja võite olla kindel, et kõik on seal stabiilne ja keegi ei murdis midagi valesti tõmmata. Kõigepealt peate minema peamisse projekti lehele, seejärel vahelehel "Väljalasked":

Sellel lehel peate täpsustama versiooni valdkonnas. "Tag versioon", siis vabastamise nimi ja väike kirjeldus. Kui olete koostanud arhiivid binaarse, siis peavad nad ka siia lisama. Seejärel klõpsake nuppu "Loo vabastamine":

Pärast vabastamise loomist luuakse selline leht:

järeldused

Käesolevas artiklis vaatasime läbi GitHubi, et mahutada ja hallata meie projekti. Kogu süsteem on inglise keeles, nii et keele põhiteadmised on väga soovitav, kuid isegi ilma nendeta ei tööta GitHubiga väga raske. Loodan, et see teave oli teile kasulik. Kui olete huvitatud sellest, kuidas töötada Giti käsurealt, vaadake algajate artiklit.

Üksikasjalik sissejuhatus GIT-ga tööle

Mis on git ja miks ta mind on?

GIT on jaotatud versiooni juhtimissüsteem, mis võimaldab salvestada kõik hoidlasse salvestatud failidesse kantud muudatused. Muudatused salvestatakse hetktõmmise kujul, mida nimetatakse kohustustena, mida saab paigutada paljudele serveritele. Kaaluge seda standardset pilve steroidide varukoopiate jaoks - te ei saa mitte ainult koodi taastada ebaõnnestumise korral, vaid ka koodi rullimiseks ühele eelmisele salvestatud riikidele. Te saate hõlpsasti suhelda teiste arendajatega - jälle, sest mõned inimesed saavad töötada ühe faili Google Docs ja arendajad saavad üheaegselt töötada ühe hoidla ja säilitada nende muudatused.

Arvestades kõiki selle eeliseid, GIT on hädavajalik vahend kõigile, kes seda või areneb. Selles artiklis vaatame kõige kasulikumad GIT-käsud ja olukord, kui nad seda väärt kasutavad. See aitab ka oma teadmisi värskendada, kui olete juba Giti-ga tuttav.

Kuidas töötada gitiga

GIT-i palju käske on saadaval GIT-is, nii et see on kasulik nende jagamiseks teemal / põhjusel kasutada. Esiteks vaatame tööd kohaliku masina gitiga, kuna enamik toiminguid esineb täpselt seal ja seejärel pöördume tagasi multiplayer formaat.

GIT-ga saate töötada nii käsurea kaudu kui ka graafilise liidese kaudu, nagu Githuub Desktop. Kuigi käsurea algaja arendajad saavad hirmutada, on veel parem õppida, sest see annab rohkem võimalusi kui palju vahendeid liidesega.

Reeglina võtke git meeskonnad git tüüpi<команда> <аргументы> Kui argument võib faili teele olla. Meeskonnad võivad olla ka võimalused, mis on märgitud kui -<опция> või -<однобуквенная опция> . Nad võimaldavad teil üksikasjalikumalt seadistada käsumeetmeid. Käesolevas artiklis esitatakse meeskond üldiselt, nii et kõik on sisse lülitatud<> Te peate asendama oma tähendusi.

Kui te ei tea, kuidas käsku kasutada, saate Git Abi abil avada juhendi<команда> ja kui teil on vaja lihtsalt meeldetuletust, kasutage GIT-i<команда> -h või git.<команда> --Help (--Help ja -H on samaväärsed).

Giti ettevalmistamine.

GIT-i installimine.

Windowsi kasutajad saavad selle siit alla laadida.

MacOS (OS X) git on osana Xcode käsurea tööriistade osana, nii et peate neid installima. GIT-i kättesaadavuse kontrollimiseks avage terminal ja sisestage versiooni kontrollimiseks git -Version.

Kui kasutate Linuxi, siis kasutage sudo apt install git-all käsku või sudo DNF installige git-kõik (põhineb RPM).

Konfiguratsioonifaili seadistamine

Esimene asi, mida peate tegema pärast GIT-i installimist, on kasutajanime ja e-posti seadistamine, sest neid kasutatakse kõikide võtjate kõigi piltide tuvastamiseks ja salvestamiseks. Need seaded salvestatakse konfiguratsioonifailis kogu ülejäänud.

Faili abil saate otseselt muuta tekstiredaktori abil või kasutades GIT-Config -Global -Edit'i käsku ja saate muuta eraldi väljad GIT Config -Globali käsu abil<поле> <значение> - Oleme huvitatud kasutaja.Name ja kasutaja.Email väljad.

Tekstiredaktori saate konfigureerida ka kirjade kirjutamiseks core.editor valdkonnas. Esialgu kasutab näiteks vaikimisi süsteemi redaktorit, näiteks Linuxi / Maci jaoks VI. Kogemus.Telleti väli võimaldab määrata malli, mida kasutatakse igal CM-is.

Seal on palju teisi valdkondi, kuid üks kõige kasulikum on alias, mis seob meeskonna pseudonüümiga. Näiteks GIT Config --Global alias.t "olek -S" võimaldab teil kasutada git staatuse asemel git silmust

GIT Config --käsk kuvab kõik väljad ja nende väärtused konfiguratsioonifailist.

Loo git hoidla

Uue hoidla vormindamiseks. GIT init käsk saab kasutada või kui soovite kopeerida olemasoleva, glit kloon<адрес репозитория> .

Ajalugu pühendunud git

GIT salvestab andmeid kerge "Snapshots" vormis, mida tuntakse, mida tuntakse kui kohustusi. Nad salvestavad failisüsteemi staatuse teatud ajahetkel, samuti eelmise (te) kohustuse (de) osutaja. Iga komitee sisaldab ainulaadset kontrollsummat - identifikaator, mis git kasutab toime viitamiseks. Lugu jälgimine, GIT salvestab peapunkti, mis näitab esimest toimet (me järgime toimepanemise ahelat vastupidises järjekorras, et saada eelmistele komiteelidele).

Me võime viidata oma kontrollsumma kaudu või selle positsiooni kaudu, näiteks pea, näiteks pea ~ 4 viitab pühendumusele, mis on 4 kordas varem kui pea.

Failisüsteemi git.

GIT Tracks Failid kolme põhiseaduses:

  • töökataloog (teie arvuti failisüsteem);
  • valmistatud failide pindala (peatuspind salvestab järgmise toime sisu);
  • Pea (viimane toime hoidlasse).

Kõik peamised failide toimimise failid vähendatakse, et mõista, kuidas GIT kontrollib neid kolme osa. On olemas ühine eksiarvamus, et ettevalmistatud failide pindala salvestab ainult muudatusi. Parem on mõelda nende kolme sektsiooni eraldi failisüsteemidena, millest igaüks sisaldab selle koopiaid faile.

Vaata muudatusi failisüsteemides

GIT status käsk kuvab kõik failid, mis erinevad kolme osa vahel. Failide 4 sätestab:

  1. Taastamata (Edukas) - on töös kataloogi, kuid ei ole versiooni pea või valdkonnas ettevalmistatud faile (git ei tea failist).
  2. Muudetud (modifitseeritud) - Töökataloonis on uuem versioon, võrreldes eelnevalt salvestatud failide peaga või ettevalmistatud failide valdkonnas (muudatused ei ole järgmisel COM-is.
  3. Valmistatud (lavastatud) - töötava kataloogi uuema versioon ja ettevalmistatud failide pindala võrreldes peaga võrreldes (valmis).
  4. Ilma muudatusteta - üks faili versioon kõigis osades, s.o viimastes IMSORS sisaldab praegust versiooni.

Märkus Faili saab samaaegselt "muutunud" ja "valmis", kui töökataloogi versioon on uuem kui ettevalmistatud failide valdkonnas, mis omakorda on uuem versioon pea.

Saame kasutada GIT-i staatuse käsu valikuvõimalust, et saada kompaktsemat väljundit (liinil failile). Kui faili ei jälgita, siis kuvatakse see? ; Kui ta oli muutunud, on tema nimi punane ja kui valmis - roheline.

Muudatuste tegemist ja faile ei muudeta, saate kasutada järgmisi käske:

  • gIT Diff - töökataloogi võrdlemine ettevalmistatud failide piirkonnaga;
  • gIT Diff - AsSTAGED - ettevalmistatud failide pindala võrdlemine peaga.

Kui kasutate argumenti<файл/папка> , Diff näitab muudatusi ainult määratud failide / kaustade puhul, näiteks git diff src /.

Failisüsteemi värskendus

Meeskonna git Lisa<файл/папка> Uuendab töökataloogi esitatud failide / kaustafailide piirkonda.

Giti toime käsk uuendab pea uue toimega, mis võtab ettevalmistatud failide valdkonnas pilte faile.

GIT Reset Command tegevus<коммит> Koosneb kolmest potentsiaalsest etapist:

  1. Liiguta peapunkti<коммит> (Näiteks, kui Rollback võistlevad töökataloogis ja ettevalmistatud failide pindala on failide uuem versioonid kui peas). Samuti liigutatakse filiaali peakoht sellesse toime.
  2. Uuenda ettevalmistatud failide ala pühendumuse sisu poolt. Sellisel juhul on failide uusimad versioonid ainult töökataloog.
  3. Uuenda töökataloogi sisu ala ettevalmistatud faile. Sa pead selle üle hoolikalt olema, sest faili muudatused hävitatakse lõpuks.

Vaikimisi teostab GIT-i lähtestamise käsk ainult 1. ja 2. sammu, kuid selle käitumist saab muuta - kasutades - -Soft valikuid (ainult 1 etapp) ja --hard (kõik sammud).

Kui saadate tee faili / kausta, käsk teostatakse ainult nende jaoks, näiteks GIT Reset --Soft Head ~ 1 SRC /.

Team Giti kassa pea<файл> toob kaasa sama tulemuse kui git reset --hard pea<файл> - üle kirjutada faili versioon ettevalmistatud failide valdkonnas ja pea versiooni töökataloogis, st tühistab pärast viimast toimet.

Teisest küljest git kassasse<файл> (Juba ilma peata) kirjutab failiversioon versiooni töökataloogis ettevalmistatud failide valdkonnas, st tühistab muutused pärast viimast ettevalmistatud versiooni.

Lõpuks git rm<файл> Tühistab faili jälgimise ja kustutab selle töökataloogist, valige faili salvestatava valikuvõimaluse.

Failide ignoreerimine

Sageli me ei vaja giti jälgida kõiki faile hoidlas, sest nende arv võib sisaldada:

  • faile tundliku teabega nagu paroolid;
  • suured binaarfailid;
  • assamblee failid, mis on tekkinud pärast iga koostamist;
  • näiteks OS / IDE-failid .Ds_store. MacOS või .iml Intellij idee jaoks - me vajame hoidlat sõltuvalt süsteemist võimalikult väikest.

Ignoreerida faili.gitignore. Et tähistada faile, mida me tahame ignoreerida, saate kasutada otsingumustrid (kaaluda neid lihtsustatud regulaaravaldiste):

  • / ___ - Väldib rekursiivsust - vastab failidega ainult praeguses kataloogis;
  • __ / - vastab kõigile failidele määratud kataloogis;
  • * ___ - vastab kõigile failidele määratud lõpetamisega;
  • ! - määratletud mustri alla kuuluvate failide ignoreerides;
  • [__] - vastab igale märgile, mis on määratud ruuduklassidest;
  • ? - vastab mis tahes sümbolile;
  • / ** / - vastab sisestatud kataloogidele, näiteks A / ** / D vastab A / D, A / B / D, A / B / C / D jne, ja nii edasi.

Teiste käskude faili / kausta määramisel võime isegi kasutada otsingumudelite otsingumustreid. Näiteks GIT Lisa SRC / *. CSS lisab kõik failid. CSS SRC kausta.

Komiteed

Kuna kohustused on versioonide ajaloo aluseks, ei ole nende kohta liiga palju õppida.

Giti toime käsk avab sõnumite sisestamiseks tekstiredaktori. Ka see meeskond võtab mitmeid ühiseid argumente:

  • -M võimaldab kirjutada meeskonnaga sõnumi ilma toimetaja avamata. Näiteks git toime -M "kinnituskott";
  • -Aülekanded kõik jälgitavad failid ettevalmistatud failide piirkonda ja hõlmab neid sisseomis (võimaldab teil git vahele jätta enne toime);
  • --amend asendab viimane pühendumus uuele modifitseeritud toimele, mis on kasulik, kui te valesti kirjutasite viimase toime või unustasite lisada mõned failid.

Mitmed näpunäited, kellele ta väärib kuulata:

  • Komitee sageli: te ei saa muuta muudatusi tagasi, kui te rullate tagasi.
  • Üks muutus on üks toime: ärge asetage kõiki muutusi ühes komite, jagage need nii, et see oleks lihtsam rullida.
  • Sõnumi formaat: pealkiri peaks olema hädavajalik süttimine, vähem kui 50 tähemärki ja peaks loogiliselt täiendama selle toime fraasi ___ (see pühendumus parandab vead - see toime parandab vead). Sõnum peaks selgitama, miks pühendumus tehti, ja pühendunud ise näitab, mis on muutunud. Kavandatud üksikasjalikult, kuidas kirjutada sõnumeid.
  • (Valikuline) Ärge võtke väiksemaid muudatusi: suures hoidlas võib paljud väikesed toimed ummistuda ajalugu. Hea tooni peetakse sellisteks kohustusteks, kui nad arendaksid ja lisades need suurele hoidikule ühendamiseks üheks kohustuseks.

Vaata muutusi ajaloos

Võite kasutada GIT-logi käsku, et vaadata varasemate kohustuste ajalugu vastupidises kronoloogilises järjekorras. Ta võib läbida erinevaid võimalusi:

  • -P näitab muutusi iga com.
  • --stat näitab lühendatud statistika kohustuste, näiteks muudetud failide ja lisatud / kaugete stringide arv igas neist;
  • -N näitab n. Viimased kohustused;
  • - \u003d ___ ja--until \u003d ___ võimaldab teil filtreerida pandud ajavahemikuks, näiteks -Since \u003d "2019-01-01" näitab kohustusi 1. jaanuaril 2019;
  • --Pretty võimaldab teil määrata logivormingut (näiteks --pretty \u003d võrk
  • --grep ja -S Filter paneb sõnumite / muutmise koodi, mis sisaldavad määratud stringi, näiteks git log -s_name_name võimaldab teil vaadata funktsiooni lisamist / kustutamist;
  • --No-ühineb läbib ühendamise oksad;
  • veta1..tell2 võimaldab teil näha, millised kohustused filiaali 2 ei ole filiaalis 1 (kasulikud oksade ühendamisel). Näiteks git logi master..test näitab, mis paneb test filiaali ei ole meister (rääkida filiaalide veidi hiljem).
  • - Heift-õige filiaal1 ... Branch2 näitab kohustusi, mis on kas filiaalis 1 või haruosas 2, kuid mitte mõlemad nii nii; allkirjastama< обозначает коммиты из ветка1 , а > - filiaalist2. Laadi tähelepanu: kolm punkti kasutatakse, mitte kaks;
  • -L aktsepteerib argumenti alguses, lõpeb: fail või fail: faili: faili ja näitab muutuste ajalugu möödunud rea või funktsiooni funktsiooni.

Teine kasulik meeskond on git süüdistada<файл> , mis iga faililiini puhul näitab autori ja viimase toime kontrollimiskoha summat, mis on selle stringi muutnud. -L.<начало>, <конец> Võimaldab piirata selle käsu täpsustada rida. Seda saab kasutada näiteks selleks, et teada saada, millised komiteed viinud konkreetse vea (nii, et saate tagasi rullida).

Lõpuks on GIT Grep käsk, mis otsib kõiki faile ajaloos (ja mitte ainult töökataloogina nagu GREP) vastavalt määratud regulaaravaldisele. Võimalus -n Kuvab vastava rea \u200b\u200bnumber faili iga mängu ja --count näitab arvu vasteid iga faili.

Märkus Ärge segage GIT GREP-i GIT-log-sammuga! Esimene otsitakse faile kohustuste seas ja viimane vaatab logi sõnumeid.

Kaugserverid

Seni arutasime GIT-i kasutamist ainult kohalikul masinal. Siiski saame salvestada kaugpotentsiaali kulukohustuste ajalugu, mida saab jälgida ja ajakohastada (kaaluge nende kaugjuhtumite varukoopiaid meie toime ajaloost).

GIT Remote -V-käsku kuvab nimekirja kaugjuhtimispultidelt, mida me jälgisime ja nimed, mille oleme eraldanud.

GIT-klooni käsu kasutamisel Me mitte ainult laadida ennast koopia hoidla, vaid ka kaudselt jälgida server server, mis on määratud aadressil ja mis on määratud nimi päritolu.

Kõige tarbitavamad käsud:

  • gIT Remote Lisa.<имя> - lisab määratud nimega kaugjuurde hoidla;
  • gIT Remote Eemalda.<имя> - Eemaldab määratud nimega kaugniku hoidla;
  • gIT Remote Rename.<старое имя> <новое имя> - ümber nimetada kaughoidlate hoidla;
  • gIT Remote Set-URL<имя> - määrab uue aadressi nimega hoidla;
  • gIT Remote Show.<имя> - kuvab teavet hoidla kohta.

Järgmised käsud töötavad eemaldatud harudega:

  • giti tõmbamine.<имя> <ветка> - saab andmeid konkreetse hoidla filiaalilt, kuid ei ühenda muudatusi;
  • git tõmbama<имя> <ветка> - ühendab kindlaksmääratud hoidla filiaali andmed;
  • git push.<имя> <ветка> - saadab kindlaksmääratud hoidla filiaali muutused. Kui kohalik haru jälgib juba kaugjuhtimispuldi, siis saate kasutada lihtsalt git push või git tõmmata.

Seega võivad mitmed inimesed serverist muudatusi taotleda, muutes kohalike koopiate muutusi ja seejärel saata need kaugserverisse, mis võimaldab teil üksteisega suhelda ühes hoidlas.

Filiaal

Kõik see on hea ja suur, kui iga arendaja töötab projektiga erinevatel aegadel. Ülaltoodud graafikud ümberasustatud ainult olukorrad muutus originaal hoidlasse või kohaliku koopia, kuid mitte mitme inimese töö.

See viib meid GIT-hargnemise peamisele tunnuseni, võime töötada projekti erinevates versioonides. See tähendab, et ühe tellitud kohustuste nimekirja asemel erineb lugu teatud punktides (mis muudab selle sarnaseks puudega). Iga filiaal GIT sisaldab valguse pea pea viimasele toimele selles niit, mis võimaldab teil luua palju filiaale ilma lisakuludeta. Näpunäide: Helista filiaalile vastavalt selles välja töötatud funktsionaalsusele. Vaikimisi haru nimetatakse meistriks.

Nii et meil on üldine pointer Pea. Ja pea iga filiaali jaoks. Seega tähendab oksade vahetamine ainult liikuv Pea. Vastava haru juht.

Standardmeeskonnad:

  • git filiaal.<имя ветки> - loob uue filiaali peaga, mis näitab Pea.. Kui te ei edasta argumenti<имя ветки> , meeskond kuvab nimekirja kõikide kohalike filiaalide;
  • git kassasse<имя ветки> - lülitub sellele harule. Enne üleminekut saate läbida -B võimalust edastada uue haru;
  • gIT Branch-d.<имя ветки> - Eemaldab filiaali.

Meie kohaliku hoidla ja kaugjuhtimispuldi, nii palju filiaalid, nii et kui sa jälgida kaugjuurgas, tegelikult jälgida eemaldatud filiaal (GIT kloon toob oma kapten haru päritolu / kapten filiaal kaugjuurdeldaja).

Eemaldatud haruga seondumine:

  • gIT Branch -u.<имя удалённого репозитория>/<удалённая ветка> - seondub praeguse haruga määratud kaugete haruga;
  • git checkout --track<имя удалённого репозитория>/<удалённая ветка> - eelmise käsu analoog;
  • gIT Checkout -B.<ветка> <имя удалённого репозитория>/<удалённая ветка> - loob uue kohaliku filiaali ja hakkab kaugjuhtimispuldi jälgima;
  • gIT Branch --VV - näitab kohalikke ja jälgitavaid kaughalliteid;
  • git kassasse<удалённая ветка> - Loob kohaliku filiaali sama nimega kui kaugel ja hakkab selle jälgimise jälgimiseks.

Üldiselt on GIT-kassasse seotud asukoha asukohaga, mis juhib filiaalide juht, mis näeb välja nagu git lähtestamine liigub üldise pea.

Hüpedid ja puhastamine

Giti oksade vahetamisel on üks nüanss - nõuab, et töötav riik oleks puhas, see tähendab, et kõik jälgimisfailide muutused peavad olema fikseeritud.

Umbes. Tõlkima See ei ole nii. Mõningatel asjaoludel võib GIT-i automaatselt lõpetamata muutuse teise filiaali üle kanda.

Mõnikord on teil lõpetamata muudatused, mida ei saa fikseerida. Sellises olukorras saab neid salvestada ja "peita" kasutades GIT Stash käsk. Muudatuste tagastamiseks kasutage GIT Stashit.

Võib-olla soovite selle asemel kustutada kõik tehtud muudatused. Sellisel juhul kasutage GIT-puhast käsku. Optsioon kustutab ka kvalifitseerimata failid. Näpunäide: Lisage võimalus, et näha, mis juhtub, kui alustate GIT-i puhastamist ilma otsese kasutamiseta.

Filiaalide ühendamine

Pärast arutasime, millised oksad on ja mõlemad nende vahel vahetatakse, on aeg rääkida sellest, kuidas neid saab pärast arengut kombineerida. Filiaali, kus me tahame muudatusi ühendada, nimetatakse peamiseks ja filiaali, millest me neid ühendavad - temaatilised. On kaks võimalust teha muudatusi ühest filiaal teise: ühendamine ja liikumine.

Ühinemine

See hõlmab uue toime loomist, mis põhineb kahe filiaali üldisel algatusel ja näitab mõlemat pea kui varasemaid kohustusi. Ühinemise jaoks läheme põhiliiklusele ja kasutame GIT Merge'i käsku<тематическая ветка> .

Kui mõlemad filiaalid muudavad sama osa faili, siis konflikti konflikt tekib - olukord, kus git ei tea, millist versiooni faili salvestada, mistõttu on vaja lahendada konflikti isiklikult. Vastuoluliste failide nägemiseks kasutage Giti staatust.

Pärast selliste failide avamist näed sarnaseid konflikti kriisilahendusmärke:

<<<<<<< HEAD:index.html Everything above the ==== is the version in master. ======= Everything below the ==== is the version in the test branch. >\u003e\u003e\u003e\u003e\u003e\u003e Test: index.html

Asendage selles plokis kõik versioonile, mida soovite lahkuda ja faili valmistada. Pärast kõigi konfliktide lahendamist saate ühendamise lõpuleviimiseks kasutada giti.

Liikuma

Selle asemel, et kombineerida kahe filiaali ühinemisdokumendi, liigub taas komiteed temaatilise filiaali komiteed kujul uusi baasharu komiteesid, mis valatakse puhtamaks pandud ajaloosse.

GIT Rebase käsku kasutatakse liikumiseks<основная ветка> <тематическая ветка> mis kordab muutusi temaatilise filiaali peamine; Pea temaatiline haru näitab viimast reprodutseeritud toime.

Liiguta vs. ühinemine

Pärast logi ühendamist lugu võib tunduda päris juhuslikult. Teisest küljest võimaldab liikumine lugu ümber kirjutada tavalises ja järjekindlalt vormis.

Miks vajate ühinemist, kui saate kogu aeg liikuda? Kahjuks liigub liikumine panaatransport segadust tekitavatest palkidest, kuna ümberasustatud kohustused tegelikult originaalist erinevad, kuigi neil on sama autori, sõnum ja muutus.

Kujutage ette stsenaariumi:

  • Teie filiaalis te loote mitmeid kohustusi ja ühendada need Master Branch.
  • Keegi teine \u200b\u200botsustab töötada oma kohustuste alusel.
  • Te otsustate oma kohustuste liigutada ja saata need serverisse.
  • Kui keegi üritab ühendada oma töö põhjal oma esialgse toime, lõpuks saame kaks paralleelset filiaali ühe autori, sõnumite ja muutustega, kuid erinevate kohustustega.

Seetõttu on siin nõuanne:

Liigutage ainult teie erasektori kohaliku filiaali muudatused - ärge liigutage kohustusi, millele keegi teine \u200b\u200bsõltub.

Komitee tagasipöördumine - pöörduge tagasi ja lähtestage

Sarnased arutelud selle kohta, mis on parem kasutada, ilmneda, kui soovite pannakse tagasi panna. Meeskonna git pöördub tagasi.<коммит> Loob uue toime, tühistades muudatused, kuid ajaloo säilitamine, samal ajal kui git reset<коммит> Liigutab peapunkti, pakkudes puhtama ajaloo (nagu see ei ole kunagi juhtunud). Oluline on märkida, et see tähendab ka seda, et te ei ole enam nende muudatuste juurde tagasi, kui te ikka veel otsustate, et pühendumuse tühistamine oli tarbetu. Puhastaja - ei tähenda paremat!

Kokku võtma

Praeguses etapis on teil peaaegu kõik, mida vajate GIT-ga töötamiseks. Allpool on mitu (vabatahtlik) täiustatud näpunäiteid suurema kontrolli eest kohustuste ja ajaloo üle. Lisaks mõjutame me juhuslikult GitHubi - üks kuulsamaid platvorme, mis töötavad gitiga, mis võib teile kasulikuks olla kasulik.

GitHub.

GitHub on platvorm, mis salvestab git hoidla oma mitu serverit. GitHubi kasutajana saate oma serverite kaugjuhtimispuldi salvestada ning kaasa aidata teistele avatud lähtekoodiga hoidlasse. GitHub täiendab GIT-i kasutamist mõnede uute funktsioonidega.

Näiteks saate teha kahvli kaugjuhtimispuldi hoidla, mis on selleks, et luua teie hoidla koopia Githubis põhjaosas. See on kasulik juhtudel, kui teil ei ole õigust originaal hoidlas filiaali luua. Kui kasutate GIT-kloonide käsku, jälgib teie kohalik hoidla kaugvormi päritoluna ja originaalse hoidla kui ülesvoolu.

Pärast seda peate originaali peamise filiaali temaatilise hoidla temaatilise filiaali tühjendama. Selleks saate luua uue tõmbetaotluse - muudatuste tegemise taotlus, kus GitHub kontrollib konfliktide olemasolu enne, kui te tegite ühendamist. Sageli on enne ühendamist ka teisi kontrolle, näiteks koodi vaatamine ja heakskiitmine või isegi käivitamise testid. Päringus saate arutada koodi ja kõiki kaugjuhtimispuldi filiaali saatmist lisatakse automaatselt taotlusele, isegi kui see on loodud enne nende kohustuste loomist.

Täiustatud kasutamine: interaktiivne ettevalmistus

Valmistatud failide pindala saab hõlpsasti juhtida (näiteks ühe suure väikese toime asemel ühe suure) asemel, kasutades interaktiivset konsooli, mida GIT Lisa -I saab käivitada. 8 Selles saadaval olevad võistkonnad:

  • staatus - näitab iga faili lühikirjeldust, mis (mitte) valmistatakse;
  • uuenda - valmistab failide jälgimist;
  • rEVERVERVE - Eemaldage üks või mitu faili valmis alalt;
  • lisage ebaõnnestunud - koostab kvalifitseerimata faili;
  • plaat - valmistab ette ainult osa failist (kasulik, kui te näiteks muutsite mitu funktsioone, kuid soovite muuta muudatusi mitmetes kohustustes). Pärast faili valimist kuvatakse teile fragmendid ja tutvustavad võimalikud käsud: see hunk? . Kas ma saan siseneda? Et teada saada, mis teeb iga meeskonna;
  • diff - näitab ettevalmistatud failide loendit ja võimaldab teil vaadata igaühe muudatusi;
  • lõpeta - väljub interaktiivsest konsoolist;
  • abi - näitab iga meeskonna lühikirjeldust.

Sümbol * Faili kõrval tähendab, et käsk muudab oma olekut (valmistatud / valmistamata sõltuvalt sellest, kas värskendus või tagasipöördumine toimub). Kui vajutate ENTER-i sisestamata ühtegi käsku menüüst, lülituvad kõik failid (NO) ettevalmistatud olekusse.

Pange tähele, et plaastrite loomine (ainult osa failist) on saadaval mitte ainult interaktiivses konsoolis, vaid ka GIT-i lisa -P-käsku kaudu.

Täiustatud kasutamine: reeglite ajalugu

Suurema kontrolli kohaliku filiaali ajaloo jooksul saate kasutada GIT Rebase -i pea ~ käsu n. mis avab interaktiivse konsooli viimase komplekti liikumiseks n. Palub loetletud järjekorras vana uue (see tähendab järjekorras, kus nad liiguvad). Nii saate "muuta ajalugu", pidage meeles, et algseid kohustusi ei saa muuta ainult liikumiseks.

Te saate muuta kohustuste järjekorda, muutes nende loetletud järjekorda.

Muutke toime sõnumi / müüki

Selleks et määrata komitee, mida soovite muuta, kasutatakse redigeerimisjuhi. Siis, kui git liigub, lõpetab see selles com-is. Pärast seda saate kasutada GIT-i toime - teate sõnumi muutmiseks või unustatud failide valmistamiseks. Kui soovite jagada Commote pärast peatumist, sisestage GIT-i lähtestamise pea ^ (pea tagajärjel liigutatakse see ühele pühendumisele ja kõik failid selles kohustuses muutunud, lülituvad ettevalmistamata oleku staatusse. Siis saate failid tavapärasel viisil lahendada.

Pärast redigeerimise lõpetamist sisestage GIT Rebase --Continue.

Üle kirjutada mitu toime

Mõnikord võib tekkida vajadus üle kirjutada mitmeid kohustusi - sellistel juhtudel saate kasutada GIT-filtri haru. Näiteks juhuslikult salvestatud faili kustutamiseks saate sisestada GIT Filter-Branch --Tree-filter "GIT RM -F<имя файла>"Pea. Kuid kaaluge, et samal ajal kogu lugu liigub.

Mitme kohustuse ühendamine

Projekti uue funktsiooni töötamisel saate järk-järgult salvestada isegi temaatilise filiaali vähimatki muudatusi. Kuid sellepärast, sellepärast, ajalugu on ummistunud selliste väikeste kohustustega, mis võivad vastuolus projekti eeskirjadega. Seda saab korrigeerida, kombineerides mitmeid kohustusi ühele suurele. Selleks kasutage kõigepealt valiku käsk, et valida esimene kohustus ja seejärel hilisemate jaoks squash. GIT rakendab kõiki muutusi ühes aluses ja paluge teil muuta üldise toime sõnumi.

Ülekanne eraldi Contiote

Lisaks kõikide ülesannete ühinemisele / liikumisele temaatilises filiaalis saate olla huvitatud ainult teatud pühendumusest. Oletame, et teil on kohalik mustandite filiaal, kus te töötate mitme potentsiaalse artikliga, kuid soovite avaldada ainult ühe neist. Selleks saate kasutada GIT Cherry-Pick käsku. Et saada teatud kohustusi, kust me tahame valida, saate kasutada GIT-logi<основная ветка>..<тематическая> .

Pange tähele, et sellisel viisil luuakse uus pühendumus, mis kordab ainult valitud kohustust (st selle toime ja eelmise) vahe, kuid mitte selle tingimus.

Järeldus

Seega vaatame üle giti põhikontseptsioone. Seda artiklit saab kasutada lühiraamatuna ja saate lugeda raamatut "Pro Git", mis on palju rohkem (~ 450 lehekülge) ja kirjeldab git sügavamalt.

Tahad kaevata sügavamale git, kuid teil on vähe (või vastupidi, palju) ühe suure raamatu? Siis peaksite vaatama meie.

Muudatuste vastasseisus - inimese peamine omadus. Kui ajal, mil hakkasite töötama versioonide juhtimissüsteemidega, ei olnud Giti - see on väga tõenäoline, et alustasite subversiooniga. Sageli inimesed ütlevad, et git on liiga keeruline algajatele. Sellegipoolest ma luban endale sinuga nõus.

Selles artiklis ütlen teile, kuidas kasutada oma projektidega töötamisel Giti. Eeldame, et loote projekti nullist ja soovite kasutada giti versiooni juhtimissüsteemina. Pärast põhiliste käskude lugemist lugeme, kuidas saate oma koodi GitHubis välja panna.

See artikkel räägib põhilistest asjadest - kuidas projekti vormindada, kuidas hallata uusi ja olemasolevaid faile ning kuidas salvestada oma koodi pilve. Me vähendame mõningaid keerulisi asju nagu hargnemine, kuna artikkel on algajatele orienteeritud.

GIT-i installimine.

Ametlikul saidil GIT on erinevates süsteemides - Linux, Mac, Windows. Meie puhul kasutame Ubuntu 13.04 ja git Me paigaldame APT-ga.

Sudo apt-get install git

Esialgne konfiguratsioon

Loo kataloog, milles me töötame. Võite kasutada ka GIT töötada koos olemasoleva projekti ja antud juhul te ei loo demonstreerimise kataloogi nagu allpool kirjeldatud.

Mkdir my_git_project cd my_git_project

Esiteks on vaja uurida GIT-hoidla projekti kataloogis. Seda saate teha init käsk, mis loob kataloogi.git kogu oma projekti kohta.

Git config --global kasutaja.Name "Shaumik" git config --global kasutaja.email " [E-posti kaitstud]"GIT Config --Global Color.ui" Auto "

Väärib märkimist, et kui te ei täpsusta oma aadressi ja nime, siis kasutatakse selle asemel vaikimisi väärtusi. Meie puhul on vaikimisi väärtused Donny ja [E-posti kaitstud]

Me seadistame ka liidese värvi automaatse väärtusega, nii et GIT-käskude väljund on värv. Me lisame nendele käskudele - Globali eesliide nii, et neid väärtusi kasutataks kogu süsteemis ja iga üksiku projekti jaoks ei olnud vaja neid seadistada.

Failide ettevalmistamine

Järgmine samm loome mitu faili. Selle jaoks saate kasutada mis tahes tekstiredaktorit. Pange tähele, et kui te initsialiseerida giti olemasoleva projekti, siis ei pea seda sammu tegema.

Kontrollige hoidla seisundit

Nüüd, kui teie projektis on faile, vaatame, kuidas git nendega kaebas. Praeguse hoidla staatuse kontrollimiseks kasutage GIT-oleku käsk.

Lisa faile git

Praeguses etapis ei järgi git ühte meie faile. On vaja konkreetselt lisada faile git nii, et see juhtus. Selleks kasutage lisa käsk.

GIT Lisa my_file.

Pärast hoidla staatuse kontrollimist näeme, et üks failidest on juba lisatud.

Mitme faili lisamiseks kasutame järgmist (teate, et lisasime esimese faili varem, nii et lisame ainult ülejäänud kaks).

GIT Lisa myfile2 myfile3

Võite kasutada git Lisa rekursiivselt, kuid olge selle käsuga ettevaatlik. On mõned failid (näiteks koostatud programmid), mida ei tohiks versiooni juhtimissüsteemile lisada. Kui kasutate GIT Lisage rekursiivselt, kuuluvad sellised failid ka hoidlasse.

Kustuta failid

Kujutage ette, et te lisasite kogemata faili hoidlasse, mis ei oleks sinna jõudnud. Või soovite eemaldada mis tahes faili versiooni juhtimissüsteemist. Üldiselt ei kustuta GIT RM-käsk faili lihtsalt hoidlasse faili, vaid ka selle kettalt füüsiliselt kustutab. GIT-i peatusele faili jälgimine, kuid see jäi kettale, kasutage järgmist käsku:

GIT RM --cached [Faili nimi]

Kommunaalmuutused

Kui olete lisanud kõik vajalikud failid, saate neid kommenteerida (fikseerida) git. Kujutage ette, et pühendumus on projekti staatuse hetktõmmis teatud etapis, millele saate igal ajal tagasi pöörduda ja selle aja seisundi vaadata. Iga komiteega seostatakse sõnum, et argument on määratud pärast eesliide -m

Git toime -m "minu esimene toime"

Määrake sõnum, mis sisaldab kasulikku teavet, kuna need aitavad mõista, mida selles kohustuses muutunud. Vältige mõningaid ühiseid sõnumeid, näiteks "vead." Kui teil on veajälgija, saate määrata sõnumi tüüp "Bug # 123". Hea tava - märkige filiaali nimi või parandamine. Näiteks lisas "Varahaldus - lisas võime luua PDF-i põhjal vara" - selge ja arusaadav sõnum.

GIT määrab pandud pika kuueteistkümnendmehe. Tavaliselt ei ole vaja kogu liini kopeerida, esimese 5-6 tähemärki, mis on piisavad konkreetse toime tuvastamiseks. Screenshot, see võib näha, et meie Compote on tuvastatud number 8dd76fc.

Edasine kohustub

Let's muuta mitu faili pärast me lubanud neid. Pärast muutsime neid, GIT staatus annab aru, et oleme muutnud faile.

Näete, mida on muutunud nendes failides alates eelmise toime, kasutades GIT Diff käsk. Kui soovite vaadata konkreetse faili muudatusi, saate GIT-diferentseerida<файл> .

Muudatused on vaja indekseerida ja neid ära hoida. Kõik muudetud projektifailid saab lisada järgmisele käsule:

Võite vältida selle käsu kasutamist, kui lisate parameetri GIT-i toimele. See käsk indekseerib kõik modifitseeritud failid ja komiumid neid. Kuid see lähenemine võib olla üsna ohtlik, nii et ekslikult saate komistada asjaolu, et ma ei tahtnud. Näiteks ütleme, et sa avasid faili ja muutsite seda kogemata. Muudetud failide indekseerimise ajal teavitatakse teid iga faili muutustest. Aga kui te saadate kõik modifitseeritud failid ilma abita. GIT toime -A, siis kõik failid on pühendunud, kaasa arvatud need, mida te ei tahtnud.

Niipea kui olete indekseeritud faile, saate jätkata pühendumust. Nagu varem mainitud, saate määrata sõnumi võtme -M-i kasutamisele. Kuid saate määrata ka mitme line kommentaare GIT-i käsu abil, mis avab konsooliredaktori kommentaari sisestamiseks.

Probleemide juhtimine

Projekti ajaloo vaatamiseks saate kasutada järgmist käsku:

See kuvab täieliku ajaloo ajalugu toime nimekirja vormis ja nende kohta teavet. Teave toime kohta Sisaldab HASH-i pühendumist, autorit, aega ja kommutatsioonisõnumit. On palju liiki git log meeskondi, mis peavad tutvuma puhul hargnemata git. Konkreetse toime ja muudetud failide üksikasjade vaatamiseks käivitage järgmine käsk:

GIT Show.<хеш_коммита>

kus<хеш_коммита> - Hex number seotud toime. Kuna käesolev juhend on mõeldud algajatele, ei pea me kaaluma, kuidas riiki tagastada konkreetse toime ajal või filiaalide juhtimise ajal.