Git. Ātri sākt pamatdarbības izmantošanu ar paskaidrojumiem

Tā apraksta praktisko daļu jautājuma par Git - tās uzstādīšanu un reģistrāciju Github.com serverī.

Github.com ir pakalpojums, kas piedāvā jūsu koda un datu glabāšanu, izmantojot versiju vadības sistēmu. Git.. Github nodrošina bezmaksas tarifu plānu 300MB datu glabāšanai atklātā veidā. Tas nozīmē, ka jebkurš interneta lietotājs var lejupielādēt jūsu datus. Github var ievietot un slēgt citu repozitoriju, maksājot $ 7 mēnesī. Brīvajā Github kontā pēc noklusējuma neviens nevar mainīt jūsu datus (var lasīt tikai). Bet jūs varat uzstāt, kas no GitHub sistēmas lietotājiem ir tiesības ierakstīt.

Rakstā sīki aprakstīts, kā padarīt git iestatījumu sistēmā Windows un Linux OS.

Git instalēšana Linux

Linux lietotāji, es domāju, ka nav jēgas izskaidrot, kā instalēt git - tas tiek darīts dažādos veidos. Debian sistēmā (kas ir vērts ar mani), lai instalētu git, varat izmantot komandu:

apt-get instalēt git

Git instalēšana zemēs logiem

Mēs ejam uz oficiālo Git lapu http://git-scm.com, noklikšķiniet uz Lejupielādēt Windows. Logā, kas atveras, noklikšķiniet uz Ieslēgts Pilns uzstādītājs oficiālajam gitam. Palaist exe-shnik saņemto.

Instalācijas procesā šis jautājums tiks jautāts:

Es iesaku izvēlēt "palaist git no Windows komandu uzvednes". Visas citas iespējas var atstāt pēc noklusējuma. Pēc git instalēšanas jums ir nepieciešams atsāknēt vai pabeigt lietotāja sesiju un piesakieties, lai izmantotu izmaiņas ceļa sistēmas mainīgā.

Ja saņemat informāciju par versiju, tad GIT ir instalēta un darbojas. Ja mēs saņemam informāciju, ka GIT programma nav atrodama, mēs saprotam, ko viņi darīja nepareizi.

SSH Key Setup

Pirms reģistrēties Github, vispirms vajadzētu ģenerēt SSH galveno šifrēšanu. Šī atslēga ir nepieciešama, lai ātri instalētu savienojumu ar gitogu, neievadot paroli. Bez šāda github atslēga, tas nebūs viegli strādāt.

Uzmanību!

Galvenās paaudzes laikā tiks pieprasīta parole. Šī parole piekļuve slēgtajai atslēgai, kas tiek glabāta tikai jūsu automašīnā un jebkur citur. Šī parole ir iestatīta maksimāliem vērtspapīriem, lai gan jūs varat darīt bez tā. Jums ir jāzina, ka, nosakot paroli uz privātu atslēgu, jums būs jāievada šī parole ar katru GitHub serveri. Tādējādi, norādot paroli, pazūd visas šifrēšanas atslēgu izmantošanas ērtības.

MyTetra lietotāji: Saskarne darbā ar komandrindu, kas tiek izmantota, lai izsauktu git sinhronizācijas laikā, nevar strādāt, ievadot rakstzīmes. Tāpēc, ja norādāt paroli, sinhronizācija nedarbosies.

SSH taustiņu iestatīšana Linux

Linux operētājsistēmā vispirms ir jāaplūko ~ / .ssh direktorijā. Ja ir ID_RSA faili un ID_RSA.Pub, tad tas ir SSH atslēgas. Ja šādas direktorijas vai šādu failu nav, tad ir jāizveido atslēgas. Ļaujiet komandai:

Vietā [E-pasts aizsargāts] Jums ir nepieciešams norādīt savu e-pastu. Galvenās paaudzes procesā jūs lūgsiet, kur ievietot failus, vienkārši nospiediet taustiņu ENTER. Pieprasot paroli, vienkārši nospiediet taustiņu ENTER. Pēc paaudzes, ID_RSA un ID_RSA.PUB failiem vajadzētu parādīties ~ / .ssh direktorijā, tie būs piemēroti mums vēlāk.

SSH taustiņu konfigurēšana sistēmā Windows

Windows operētājsistēmā SSH galvenais ģenerators ir iekļauts GIT paketē. Lai ģenerētu taustiņus, jums ir jādarbojas, lai izpildītu failu C: Program Files \\ git \\ git bash.vbs. To var uzsākt kā parastā exe-shnik. Tiek atvērta GIT konsoles programma. Tai ir jāpiešķir komanda:

ssh-keygen -t rsa -c " [E-pasts aizsargāts]"

Esiet uzmanīgi, šajā konsolē, cop-pagātne pamanīs, vienkārši ievadīt komandu manuāli. Kā e-pastu, norādiet savu pastkasti. Pēc pieprasījuma " Ievadiet failu, lai saglabātu atslēgu"Vienkārši nospiediet taustiņu ENTER

Publiskā / privātā RSA atslēgu pāra ģenerēšana.
Ievadiet failu, kurā saglabāt atslēgu (/ c / dokumentus un iestatījumus / lietotājvārdu / .ssh / ID_RSA)
Ievadiet ieejas frāzi (tukšs bez ieejas frāzes):
Ievadiet to pašu ieejas frāzi:
Jūsu identifikācija ir saglabāta / c / Dokumenti un iestatījumi / lietotājvārds / .ssh / ID_RSA.
Jūsu publiskā atslēga ir saglabāta / c / dokumenti un iestatījumi / lietotājvārds / .ssh / id_rsa.pub.
Galvenais pirkstu nospiedums ir:
51: DB: 73: E9: 31: 9F: 51: A6: 7a: C5: 3D: DA: 9C: 35: 8F: 95 [E-pasts aizsargāts]

Pēc šīs programmas veikšanas katalogā C: Dokumenti un iestatījumi lietotājvārds \\ tSh ID_RSA un ID_RSA.PUB faili atradīsies, tie būs noderīgi mums vēlāk.

Reģistrācija Github.com.

Tagad viss ir gatavs reģistrācijai. Dodieties uz Github.com sākuma lapu. Interfeiss ir nedaudz sajaukts, tāpēc es sniegšu pāris ekrānšāviņus, kur tas ir nospiests. Dizains un izkārtojums var tikt mainīts jebkurā laikā, tāpēc es aprakstīt rīcības loģiku brīdī.

Augšējā izvēlnē atrast vienumu " Cenu noteikšana un pierakstīšanās."Un noklikšķiniet uz tā:

Tiek atvērta tarifu plāna izvēles lapa. Izvēlieties bezmaksas kontu " Izveidojiet bezmaksas kontu":

SSH taustiņa uzstādīšana GitHubā

Tūlīt pēc reģistrācijas ir nepieciešams reģistrēt savu publisko atslēgu šifrēšanas atslēgu Guthub sistēmā (OPEN SSH taustiņš). Lai pievienotu atslēgu, jums ir nepieciešams noklikšķināt augšējā labajā stūrī. " Konta iestatījumi":

Logā, kas atveras, jums ir nepieciešams noklikšķināt uz izvēlnes vienuma " SSH publiskās atslēgas."un noklikšķiniet uz" Pievienojiet citu publisku atslēgu". Parādīsies divas lauki - galvenais nosaukums ( Virsraksts) un galvenais saturs ( Taustiņu.).

Laukā Virsraksts Jūs varat uzrakstīt datora nosaukumu, kurā ir izveidota publiskā atslēga. Jūs varat rakstīt krievu valodā.

Laukā Taustiņu. Jums ir jāievieto ID_RSA.PUB faila saturs. Atcerieties, kādā katalogā viņi ir? Dodieties uz šo direktoriju, atveriet jebkura teksta redaktora ID_RSA.PUB (tas ir ar .pub pagarinājumu, nesajauciet). Mēs izcelt visu tekstu, kopiju un ievietot uz GitHub lapā laukā Taustiņu..

Pēc atslēgas pievienošanas dators var izveidot savienojumu ar gitonu, izmantojot GIT programmu, un nav notikušas kļūdas.

Radot repozitoriju par githubu

Tagad ir pienācis laiks izveidot savu pirmo krātuvi Github. Repozitoriju var apskatīt vienkārši kā direktoriju, kurā sinhronizēti faili un subdirectories gulēs. Jums ir jāizveido krātuve Github Web interfeisā, un jūs jau varat aizpildīt to ar failiem un strādāt ar to, izmantojot datora GIT programmu.

Lai izveidotu krātuvi, jums ir nepieciešams noklikšķināt augšējā labajā stūrī " Mērinstrumentu panelis.". Logā, kas atveras, jūs redzēsiet vienumu" Izveidot repozitoriju.":

Tātad, mums nav nepieciešams šis postenis! Šis vienums tiek atvērts nevis repozitorija izveide dialoglodziņā un palīdzības lapā. Tā vietā, lai noklikšķinātu uz šī vienuma, mēs meklējam zemāk norādīto lapu par maz ticamu saiti " Izveidot repozitoriju.". Viņa arī atvērs dialogu, lai pievienotu jaunu repozitoriju.

Pievienojot jaunu repozitorija dialoglodziņu, jums ir jāaizpilda vismaz projekta nosaukuma lauks " Projekta nosaukums.". Projekta nosaukumā labāk nav izmantot kirilicu, jo projekta nosaukums ir direktorijas nosaukums. Lai izvairītos no problēmām, projekta nosaukums satur tikai latīņu valodu. Izveidot krātuvi."Repozitorijs tiks izveidots.

Pamatdarbības atsauce uz repozitoriju GitHub sistēmā tiek veidota tā. Ja esat reģistrējies ar nosaukumu lietotājvārdu, un jūsu krātuve tiek saukta par reponame, tad jūs varat izmantot šādas saites, lai piekļūtu šai repozitorijai:

Git sintaksē:

[E-pasts aizsargāts]: lietotājvārds / reponame.git

HTTPS sintaksē:

https: // [E-pasts aizsargāts]/Usname/reponame.git.

Darbs ar krātuvi Github caur GIT programmu

No šī brīža dejas ap Github Web interfeisu var uzskatīt par pilnīgu. Tālāk jūs varat strādāt tikai, izmantojot GIT programmu.

Sākumā jums ir nepieciešams veikt nelielu iestatījumu GIT programmā: norādiet lietotāja vietējo Git sistēmu un e-pastu. Tas tiek darīts ar šādām komandām, kuras var veikt jebkurā direktorijā:

git config --global user.name "yourfullname"
Git config --global user.email [E-pasts aizsargāts]

kur jūsu vietā ir nepieciešams uzrakstīt savu vārdu un vietā [E-pasts aizsargāts] - Tavs e-pasts. Šīs vērtības tiek izmantotas, lai pieteiktos Github. Tāpēc jums ir jānorāda jūsu pieteikšanās uz GitHub - uz vietas [E-pasts aizsargāts] Jums ir jānorāda e-pasts, ko ievadījāt, izveidojot šifrēšanas atslēgas.

Pēc šiem iestatījumiem jūs varat ielej failus uz repozitoriju. Dodieties uz katalogu ar savu projektu un dodiet komandām:

git comment -a -m "pirmā izdarīt"

git Remote Pievienot izcelsmi [E-pasts aizsargāts]: lietotājvārds / reponame.git

git push -u izcelsmes meistars

Pēc šīm komandām Gituber serverī veidojas direktorijas failu kopija, kurā tika veikti komandu dati. Tālāk jūs jau varat izdarīt apņemšanos, aizpildiet GitHub servera izmaiņas, izlasiet izmaiņas no servera. Bet tas ir pilnīgi atšķirīgs stāsts.

Cilvēkiem, dabiski pretoties pārmaiņām. Ja Git neatbilst jums, kad sākāt strādāt ar versiju vadības sistēmām, jūs, iespējams, justies ērtāk subversion sistēmā (SVN).

Bieži vien cilvēki saka, ka git ir pārāk sarežģīts iesācējiem. Tomēr es ļaušu sev nepiekrist ar to.

Šajā nodarbībā es jums saku, kā izmantot git jūsu projektos. Pieņemsim, ka jūs izveidojat projektu no nulles un vēlaties to pārvaldīt, izmantojot git. Ņemot vērā galveno komandu sarakstā, jūs saņemsiet priekšstatu par to, kā izvietot savu kodu mākonī ar GitHub.

Šajā rakstā mēs runāsim par Git pamatiem - kā inicializēt savus projektus, kā pārvaldīt jaunus un esošus failus un kā saglabāt savu kodu mākonī.

Mēs nepieskaramies salīdzinoši sarežģītas git, piemēram, sazarojumam, jo \u200b\u200bšī nodarbība ir paredzēta iesācējiem.

Git instalēšana.

Oficiālajā vietnē git ir detalizēta informācijauz tās uzstādīšanas uz Linux, Mac un Windows. Mūsu gadījumā mēs izmantosim, lai demonstrētu ubuntu 13,04, lai instalētu git, izmantojot apt-get:

sudo apt-get instalēt git

Sākotnējais iestatījums

Izveidosim direktoriju, kurā mēs strādāsim. Varat arī izmantot git, lai pārvaldītu vienu no esošajiem projektiem; Šādā gadījumā jums nav nepieciešams izveidot demo direktoriju, kā parādīts zemāk:

mkdir my_git_project cd my_git_project

Pirmais solis ir inicializācija git direktorijā. To var izdarīt, izmantojot init komandu, kas izveido .git direktoriju, kurā ir visa informācija, kas saistīta ar GIT jūsu projektam.

git config --global user.name "shaumik" git config --global user.email " [E-pasts aizsargāts]"Git config --global color.ui" Auto "

Ir svarīgi atzīmēt, ka, ja nenorādīsiet savu vārdu un e-pasta adresi, tiks izmantotas noklusējuma vērtības. Mūsu gadījumā noklusējuma vērtības būtu donny lietotājvārds un e-pasta adrese [E-pasts aizsargāts].

Turklāt mēs iestatījām lietotāja interfeisa krāsas auto vērtību, lai git komandas izlaidei būs krāsu apgaismojums.

The -global prefikss ir nepieciešams, lai neievadītu šos iestatījumus komandas nākamajā reizē, kad mēs sākam GIT projektu mūsu sistēmā.

Failu sagatavošana

Nākamais solis ir izveidot failus direktorijā. Jūs varat izmantot, piemēram, VIM teksta redaktoru. Ņemiet vērā, ka, ja jūs gatavojaties pievienot git esošajam direktorijai, jums nav nepieciešams veikt šo soli:

Pārbaudiet krātuves statusu

Tagad, kad mūsu repozitorijā ir vairāki faili, redzēsim, kā git viņus pagriežas. Lai pārbaudītu pašreizējo krātuves statusu, jums ir nepieciešams izmantot GIT statusa komandu:

Pievienojot failus git, lai izsekotu

Šobrīd mums nav failu, lai izsekotu, izmantojot git. Mums ir nepieciešams, lai pievienotu failus īpaši git, lai norādītu git, kas jums ir nepieciešams, lai izsekotu.

Pievienojiet failus ar Add komandu:

Pēc repozitorija stāvokļa pārbaudes mēs redzēsim, ka tika pievienots viens fails:

Lai pievienotu vairākus failus, varat izmantot šādu komandu ierakstu (ņemiet vērā, ka mēs esam pievienojuši vēl vienu demonstrācijas failu):

git pievienot myfile2 myfile3

Jūs varat izmantot git pievienotu rekursīvi, bet esiet uzmanīgi ar šo komandu. Ir daži faili (piemēram, apkopoti faili), kas parasti tiek glabāti ārpus git repozitorija.

Ja izmantojat pievienošanas komandu rekursīvi, tas pievienos visus šādus failus, ja tie pastāv jūsu repozitorijā.

Failu dzēšana

Bet vienkārša Git RM komandas izpilde izdzēsīs failu ne tikai no git, bet arī no vietējās failu sistēmas! Uz

Git apturēja faila izsekošanu, bet pats fails tiek saglabāts vietējā sistēmā, palaidiet šādu komandu:

git rm --cached

Izdarīt izmaiņas

Pēc tam, kad esat ievietojis failus, jūs varat izpildīt tos git. Iedomājieties, ka apņemšanās ir noteikt noteiktu punktu, uz kuru jūs varat atgriezties, lai piekļūtu savam repozitorijai šajā posmā.

Jūs varat saistīt katrai komitejai ziņojumu, kas tiek pievienots, izmantojot prefiksu -m:

git izdarīt -m "mana pirmā izdarīt"

Veicina noderīgus ziņojumus, jo tas palīdzēs jums noteikt, ko esat mainījies šajā com.

Izvairīties no pārāk bieži ziņojumiem, piemēram, " Fiksētas kļūdas" Ja jums ir uzdevumu izsekotājs, jūs varat pievienot ziņojumus formā " Fiksētie bug # 234».

Laba prakse ir izmantot filiāles nosaukumu vai funkcijas nosaukumu kā prefiksu saistības ziņojumā. Piemēram, " Asset Management: pievienotā funkcija, lai ģenerētu PDF Asset failus"Ir nozīmīgs ziņojums.

Git identificē apņemšanos, pievienojot garu heksadecimālo numuru katrai saistībai. Kā likums, jums nav nepieciešams kopēt visu virkni, lai noteiktu jūsu izdarīt pietiekami pirmās 5-6 rakstzīmes.

Lūdzu, ņemiet vērā, ka ekrānuzņēmumā mūsu pirmo apņemšanos nosaka 8DD76FC kods.

Papildu apņemas

Tagad pēc mūsu pirmās izdarīšanas mainīsim vairākus failus. Pēc to izmaiņām mēs redzēsim, ka, izpildot GIT statusa GIT komandu, es atklāju izmaiņas failos, ko tā dziesmas:

Jūs varat pārbaudīt pēdējā komentārā veikto izsekošanas failu izmaiņas, izmantojot git diff komandu. Ja vēlaties apskatīt noteiktā faila izmaiņas, izmantojiet git diff komandu :

Šie faili ir jāpievieno vēlreiz, lai veiktu izmaiņas nākamās apņemšanās izsekošanas failos. Visus monitorētos failus var pievienot komandu:

Jūs varat izvairīties no šīs komandas lietošanas, izmantojot prefix -A par GIT Coll komandu, kas pievienos visas izmaiņas failu izsekošanai.

Tomēr šis process ir ļoti bīstams, jo tas var kaitēt projektam. Piemēram, pieņemsim, ka jūs atvērāt failu un mainījis to kļūdaini.

Ja selektīvi ievietojat failus, pēc tam pamaniet izmaiņas katrā failā. Bet, ja jūs pievienojat prefiksu -A uz jūsu apņemšanos, visi faili tiks ievietoti, un jūs nevarēsiet noteikt iespējamās kļūdas.

Kad esat ievietojis savus failus, varat doties uz apņemšanos. Es minēju, ka ziņojums, ka mēs ieviest, izmantojot prefiksu -m, var būt saistīta ar katru komiteju.

Tomēr ir iespējams ievadīt ziņu vairākās rindās, izmantojot GIT Coll komandu, kas atver interaktīvu veidlapu ierakstīšanai:

Projektu vadība

Lai apskatītu jūsu projekta vēsturi, varat izpildīt šādu komandu:

Tātad tiks parādīta visa projekta vēsture, kas ir visu uzņēmumu saraksts un informācija par tiem. Informācija par apņemšanos ietver Kesh saistību kodu, autoru, laika un komutācijas ziņojumu. GIT žurnālam ir dažādas iespējas, ko jūs varat izpētīt, tiklīdz nosver filiāles koncepciju GIT.

Lai apskatītu detalizētu informāciju par konkrētu komerciju un failiem, kas ir mainīti, palaidiet šādu komandu:

git šovs.

kur Tas ir heksadecimāls numurs, kas saistīts ar apņemšanos. Tā kā šī mācība ir paredzēta jaunpienācējiem, mēs neuzskatīsim, kā atgriezties stāvoklī noteiktā apņemšanās vai kā kontrolēt filiāles.

Koda izvietojums mākonī

Tagad, kad jūs uzzinājāt, kā pārvaldīt kodu savā sistēmā, ir pienācis laiks ievietot kodu mākonī.

Github ir ļoti labi pazīstama platforma atvērto projektu avota koda uzglabāšanai, izplatīšanai un pārvaldībai. Šis pakalpojums izmanto daudzus izstrādātājus visā pasaulē, kuru vidū ir lieli uzņēmumi, piemēram, Microsoft, Redhat un daudzi citi, arī simtiem daudzu populāru projektu izstrādātāju.

Platforma nodrošina iespēju ne tikai apskatīt kodu un tā izplatīšanu, bet arī versiju vēsturi, kopīgus izstrādes rīkus, rīkus, lai sniegtu dokumentus, izlaidumus un atgriezenisko saiti. Un interesantākā lieta, jūs varat novietot Gihub gan atvērtos, gan privātos projektus. Šajā rakstā mēs apskatīsim, kā izmantot Github, lai pielāgotos jūsu projektam. Tātad, lai runātu, github iesācējiem.

Tātad, teiksim, jums ir savs projekts, un jūs vēlaties, lai savu kodu uz Github publiski pieeju citiem lietotājiem varētu redzēt to un piedalīties attīstībā. Pirmā lieta, kas jums jādara, ir izveidot kontu.

1. Konta izveide

Lai izveidotu jaunu kontu vietnē Atveriet GitHub galveno lapu un uzreiz varat nekavējoties ievadīt datus jaunam kontam. Jums ir jānorāda lietotājvārds, e-pasts un parole:

Kad aizpildiet ierakstu, noklikšķiniet uz "Reģistrēties bezmaksas":

Nākamajā solī jums ir nepieciešams izvēlēties repozitorija veidu. Publiskās repozitorijas ir bezmaksas, bet, ja vēlaties izveidot privātu repozitoriju, kodu, no kura būs pieejama tikai jums, jums būs jāmaksā $ 7 mēnesī.

Konts ir gatavs, un jums tiks novirzīts uz lapu, kurā varat izveidot savu pirmo projektu. Bet pirms to varat izdarīt, jums ir jāapstiprina jūsu e-pasta adrese. Lai to izdarītu, atveriet savu pastkasti un ievērojiet saiti vēstulē no GitHub.

Nav vajadzīgs GitHub iestatījums, tikai daži klikšķi ar peli.

2. Repozitorija izveide

Lapā, kas tiek atvērta, šī ir pilnvaroto lietotāju galvenā lapa, noklikšķiniet uz "Sākt projektu":

Jūs varat nekavējoties inicializēt repozitoriju, izveidojot Readme failu, jo jums ir nepieciešams pieminēt ķeksīti "Inicializējiet šo krātuvi ar README" lapas apakšā. Varat arī izvēlēties licenci:

Kad viss ir gatavs, izvēlieties "Izveidot projektu"Jauns projekts tiks izveidots ar Readme failu, kas satur aprakstu un licences failu.


3. Filiāles pievienošana

Github filiāles ļauj strādāt ar vairākām projektu versijām, tajā pašā laikā. Pēc noklusējuma izveidojot repozitoriju, ir izveidota galvenā filiāle, šī ir galvenā darba filiāle. Jūs varat izveidot papildu filiāles, piemēram, lai pārbaudītu programmatūru, pirms tā ir publicēta galvenajā filiālē. Tādējādi jūs varat vienlaicīgi izstrādāt produktu un nodrošināt lietotājus ar stabilu versiju. Varat arī izveidot atsevišķas filiāles programmas versijai dažādām sistēmām.

Pašreizējā filiāle ir norādīta augšējā kreisajā stūrī pēc vārda "Filiāle".Lai izveidotu jaunu filiāli, vienkārši izvietojiet šo sarakstu un sākt rakstīt tā nosaukumu:

Vietne ieteiks izveidot jaunu filiāli, izvēlieties "Izveidot filiāli".

Tūlīt pēc radīšanas jūs strādājat tikai ar filiāli.

4. Mainiet failus un apņemas

Jebkuras izmaiņas Github failos tiek veikti, izmantojot apņemšanos. Apņemšanās tiek veikta, veicot labojumus paši un aprakstot šīs korekcijas. Tas ir nepieciešams, lai jūs varētu uzzināt, ka un kad jūs mainījāt, kā arī ļauj viegli izsekot komandas darbu. Vārds commote var tulkot kā "noteikt". Tas ir, mēs varam veikt izmaiņas vairākos failos un pēc tam tos salabot. Mainīsim Readme failu piemēram. Lai to izdarītu, atrodiet pogu ar izliekumu paneļa labajā pusē un noklikšķiniet uz tā:

Teksta redaktors atvērsies, kur var ievadīt nepieciešamo pareizību:

Pēc tam, kad jūs darāt visu nepieciešamo, jums ir jāaizpilda lauks "Izdarīt" lapas apakšā. Īsi aprakstiet to, kas ir mainīts, un pēc tam noklikšķiniet uz "Izdarīt izmaiņas":

Šīs izmaiņas tiks iekļautas pašreizējā projekta filiālē, jo mēs tagad strādājam ar testēšanu, tad izmaiņas tiks nosūtītas uz to.

5. apvienošanās jautājumu vaicājumu izveide (vilkšanas pieprasījums)

Github iesācējiem var šķist ļoti grūti, jo šādas funkcijas, bet tas ir ļoti ērti, ja jūs to izdomājat. Confluence pieprasījums vai vilkšanas pieprasījums ir iespēja, pateicoties kuriem jebkurš attīstītājs var lūgt citu, piemēram, Radītājs repozitorija, lai apskatītu savu kodu un pievienot to galvenajam projektam vai filiālei. Darba rīks ar kodolsintēzes pieprasījumiem izmanto diff salīdzināšanas rīku, lai jūs varētu redzēt visas izmaiņas, tās tiks uzsvērta ar citu krāsu. Pull pieprasījumu var izveidot tūlīt pēc radīšanas. Nosūtīsim izvelciet pieprasījumu no mūsu testēšanas filiālēm uz galveno. Pirmkārt, atveriet cilni "Pavelciet pieprasījumu".

Šeit noklikšķiniet uz klikšķi "Izveidot pull pieprasījumu":

Šajā logā jūs varat apskatīt visas izmaiņas, tagad mēs redzam līniju:

6. Apstipriniet un apstiprināt kodolsintēzes pieprasījumus

Tagad, tajā pašā vilkšanas pieprasījumu cilnē mēs tikko esam pieprasījuši apvienošanos, un mēs varam to tikai veikt, noklikšķinot uz "Apvienot vilkšanas pieprasījumu":

Bet, ja šis pieprasījums nāca no citas personas, jums ir jāpārbauda, \u200b\u200bvai viņš tur mainījies un vai tas ir nepieciešams, lai to izdarītu šim, noklikšķiniet uz vaicājuma apraksta, un jūs redzēsiet pazīstamu izmaiņu skatu logu:

Tad kodu importēs galvenajā filiālē, un testēšanas filiāli var droši noņemt.

7. Kļūdu ziņojumi

Tas ir arī ērti, ka ir iespējams izmantot Github ne tikai, lai izstrādātu un pārvaldītu kodu, bet arī atgriezenisko saiti no lietotājiem. Uz cilnes "Izdevums" Lietotāji var atstāt ziņojumus par problēmām, ar kurām viņi sastopas, lietojot savu produktu. Atvērt cilni "Jautājumi"un noklikšķiniet uz pogas "Jauns jautājums":

8. Izlaidumi

Pēdējais, ko mēs šodien izskatīsim, ir relīzes. Kad produkts ir sasniedzis noteiktu posmu, jūs varat atbrīvot atbrīvošanu lietotājiem, un jūs varat būt pārliecināti, ka viss ir stabils tur un neviens pārtrauca kaut ko nepareizu vilkšanas pieprasījumu kapteiņa. Vispirms jums ir jādodas uz galveno projekta lapu, pēc tam uz cilnes "Releases":

Šajā lapā jums ir jānorāda versija šajā jomā. "Tagu versija", tad nosaukums atbrīvošanu un nelielu aprakstu. Ja esat apkopojis arhīvus ar bināro, tad tie arī ir jāpievieno šeit. Pēc tam noklikšķiniet uz "Izveidot atbrīvošanu":

Pēc izlaišanas izveides šāda lapa tiks izveidota:

secinājumi

Šajā rakstā mēs pārskatījām, kā izmantot Github, lai pielāgotos un pārvaldītu mūsu projektu. Visa sistēma ir angļu valodā, tāpēc valodas pamatzināšanas ir ļoti vēlamas, bet pat bez viņiem strādāt ar github nebūs ļoti grūti. Es ceru, ka šī informācija būs noderīga jums. Ja jūs interesē, kā strādāt ar gitu no komandrindas, skatiet rakstu iesācējiem.

Detalizēts ievads darbam ar git

Kas ir git un kāpēc viņš mani?

Git ir izplatīta versijas vadības sistēma, kas ļauj saglabāt visas izmaiņas, kas ievadītas repozitorijā saglabātajos failos. Izmaiņas tiek saglabātas momentuzņēmumu veidā, ko sauc par mantojumiem, kurus var novietot daudzos serveros. Apsveriet šo standarta mākoni, lai dublētos steroīdos - jūs varat ne tikai atjaunot kodu neveiksmes gadījumā, bet arī apgrieziet kodu uz kādu no iepriekšējām saglabātajām valstīm. Jūs varat arī viegli mijiedarboties ar citiem izstrādātājiem - atkal, jo daži cilvēki var strādāt vienā failā Google dokumentos un izstrādātāji var vienlaicīgi strādāt vienā repozitorijā un saglabāt savas izmaiņas.

Ņemot vērā visas tās priekšrocības, Git ir neaizstājams līdzeklis ikvienam, kas to attīstīsies. Šajā rakstā mēs apskatīsim visnoderīgākos git komandas un situāciju, kad tās ir vērts izmantot. Tas arī palīdzēs atsvaidzināt savas zināšanas, ja jūs jau esat iepazinušies ar git.

Kā strādāt ar git

Daudzas komandas ir pieejamas Git, tāpēc ir lietderīgi tos sadalīt uz tēmu / iemeslu izmantot. Pirmkārt, mēs apskatīsim darbu ar git vietējo mašīnu, jo lielākā daļa operāciju rodas tieši tur, un tad pievērsīsies pie multiplayer formātā.

Ar git, jūs varat strādāt gan caur komandrindu, gan ar grafisko interfeisu, piemēram, Github darbvirsmu. Lai gan komandrindas iesācēju izstrādātāji var nobiedēt, tas joprojām ir labāk mācīties, jo tas nodrošina vairāk iespēju nekā daudziem rīkiem ar saskarni.

Kā likums, Git komandas ņem git veidu<команда> <аргументы> ja arguments var būt ceļš uz failu. Komandas var būt arī iespējas, kas ir norādītas kā -<опция> vai -<однобуквенная опция> . Tie ļauj jums sīkāk konfigurēt komandu darbības. Šajā rakstā komanda tiks prezentēta kopumā, tāpēc viss ir<> Jums būs nepieciešams, lai aizstātu savas nozīmes.

Ja jūs nezināt, kā izmantot komandu, jūs varat atvērt rokasgrāmatu, izmantojot git palīdzību<команда> un, ja jums vienkārši ir nepieciešams atgādinājums, izmantojiet git<команда> -H vai git.<команда> --Help (--help un -h ir līdzvērtīgi).

Git sagatavošana.

Git instalēšana.

Windows lietotāji to var lejupielādēt no šejienes.

MacOS (OS X) git ir daļa no xcode komandrindas rīkiem, tāpēc jums ir nepieciešams tos instalēt. Lai pārbaudītu git pieejamību, atveriet termināli un ievadiet gitneversion, lai pārbaudītu versiju.

Ja izmantojat Linux, tad izmantojiet sudo Apt instalēt git-visu komandu vai sudo dnf instalēt git-all (pamatojoties uz RPM).

Konfigurācijas faila konfigurēšana

Pirmā lieta, kas jums jādara pēc Git instalēšanas, ir konfigurēt lietotājvārdu un e-pastu, jo tie tiek izmantoti, lai identificētu un saglabātu visus uzņemti attēlus. Šie iestatījumi tiek saglabāti konfigurācijas failā ar visu pārējo.

Jūs varat vai nu tieši rediģēt failu<поле> <значение> - Mēs esam ieinteresēti lietotāju.Name un user.Email lauki.

Varat arī konfigurēt teksta redaktoru rakstīt izdarīt ziņojumus, izmantojot Core.editor lauku. Sākotnēji izmanto noklusējuma sistēmas redaktoru, piemēram, VI Linux / Mac. Comment.template lauks ļauj norādīt veidni, kas tiks izmantota katrā com.

Ir daudzas citas jomas, bet viens no visnoderīgākajiem ir alias, kas saistās ar komandu uz pseidonīmu. Piemēram, git config --global alias.t "statuss -s" ļauj izmantot Git ST, nevis git statusu -

Git Config --List komanda parādīs visus laukus un to vērtības no konfigurācijas faila.

Izveidot git repozitoriju

Lai inicializētu jauno repozitoriju. Git init komandu var izmantot vai, ja vēlaties kopēt esošo, git klonu<адрес репозитория> .

Vēsture, kas izdarīta gitā

Git saglabā datus formā komplekta vieglās "momentuzņēmumi" pazīstams kā apņemas. Viņi uzglabā failu sistēmas statusu noteiktā laikā, kā arī rādītāju uz iepriekšējo (-ām) apņemšanos (-iem). Katrā komitejā ir unikāla kontrolsumma - identifikators, kas git izmanto, lai atsauktos uz apņemšanos. Lai izsekotu stāstu, git uzglabā galvas rādītājs, kas norāda pirmo apņemšanos (mēs sekojam saistības ķēdei pretējā secībā, lai nokļūtu iepriekšējām komitejām).

Mēs varam atsaukties uz apņemšanos vai nu ar savu kontrolsummas, vai caur tās pozīciju attiecībā pret galvu, piemēram, galvu ~ 4 attiecas uz apņemšanos, kas ir 4 apņemas agrāk nekā galvas.

Failu sistēmas git.

Git dziesmas failus trīs galvenajās sadaļās:

  • darba direktorija (datora failu sistēma);
  • sagatavoto failu platība (pieturvietu platība saglabā nākamās saistības saturu);
  • Vadītājs (pēdējā izdarīšana repozitorijā).

Visi galvenie faili darbam ar failiem tiek samazināts, lai saprastu, kā git kontrolē šīs trīs sadaļas. Ir kopīgs nepareizs priekšstats, ka sagatavoto failu platība saglabā tikai izmaiņas. Tas ir labāk domāt par šīm trim sadaļām kā atsevišķas failu sistēmas, no kurām katra satur tās kopijas failus.

Skatiet izmaiņas failu sistēmās

Git statusa komanda parāda visus failus, kas atšķiras no trim sadaļām. Failiem ir 4 valstis:

  1. Unteracted (UNTRACED) - ir darba direktorijā, bet nav versijas galvas vai sagatavoto failu jomā (Git nezina par failu).
  2. Mainīts (modificēts) - darba direktorijā ir jaunāka versija, salīdzinot ar uzglabāto galvu vai sagatavoto failu jomā (izmaiņas nav nākamajā com.
  3. Sagatavots (iestudēts) - ir jaunāka versija darba direktorijā un sagatavoto failu apgabalā, salīdzinot ar galvu (gatavs uzņemties).
  4. Bez izmaiņām - viena faila versija visās sadaļās, t.i. pēdējos komisāros ir pašreizējā versija.

Ņemiet vērā, ka fails var vienlaikus "mainīt" un "sagatavots", ja darba kataloga versija ir jaunāka nekā sagatavoto failu jomā, kas savukārt ir jaunākā versija galvas.

Mēs varam izmantot -S opciju GIT statusa komandai, lai iegūtu kompaktāku izeju (uz līnijas uz failu). Ja fails nav izsekots, tad tas tiks parādīts? ; Ja viņš tika mainīts, viņa vārds būs sarkans, un, ja gatavots - zaļš.

Lai redzētu pašas izmaiņas, nevis mainīts failus, varat izmantot šādas komandas:

  • git diff - salīdzinājums darba direktorijā ar platību sagatavoto failus;
  • git diff --sted - salīdzinājums ar sagatavoto failu ar galvu.

Ja izmantojat argumentu<файл/папка> , Dif rādīs izmaiņas tikai noteiktiem failiem / mapēm, piemēram, git diff src /.

Failu sistēmas atjaunināšana

Team Git Pievienot<файл/папка> Atjaunina filiāles / mapju failu platību no darba kataloga.

Git Command komanda atjaunina galvu ar jaunu apņemšanos, kas uzņem attēlus failus šajā jomā sagatavoti faili.

Git reset komandu rīcību<коммит> Sastāv no trim iespējamiem soļiem:

  1. Pārvietojiet galvas rādītājs uz<коммит> (Piemēram, kad rollback konkurē darba direktorijā, un sagatavoto failu platība būs vairāk jaunu versiju failu nekā galvas). Arī filiāles galvaspilsēta tiks pārvietota uz šo apņemšanos.
  2. Atjauniniet sagatavoto failu apgabalu ar apņemšanās saturu. Šajā gadījumā tikai darba katalogs būs jaunākās versijas failiem.
  3. Atjauniniet sagatavoto failu apgabala darba direktoriju saturu. Jums ir jābūt uzmanīgiem par to, jo failu izmaiņas galu galā tiks iznīcinātas.

Pēc noklusējuma GIT reset komandu veic tikai 1. un 2. soli, bet tās uzvedību var mainīt, izmantojot --Soft opcijas (tikai 1 solis) un -hard (visi soļi).

Ja nosūtāt ceļu uz failu / mapi, komanda tiks veikta tikai tiem, piemēram, git reset --Soft galvas ~ 1 SRC /.

Team Git Checkout Head<файл> noved pie tāda paša rezultāta kā git reset --hard galva<файл> - Pārrakstot faila versiju sagatavoto failu jomā un galvas versijas darba direktorijā, tas ir, atceļ izmaiņas pēc pēdējās saistības.

No otras puses, git izrakstīšanās<файл> (Jau bez galvas) pārraksta faila versiju versijas darba direktorijā sagatavoto failu jomā, tas ir, atceļ izmaiņas kopš pēdējās sagatavotās versijas.

Beidzot git rm<файл> Atceļ faila izsekošanu un dzēš to no darba direktorijas, opcija --Cached saglabās failu.

Ignorējot failus

Bieži vien mums nav nepieciešams git, lai izsekotu visus failus repozitorijā, jo to skaits var ietvert:

  • failus ar sensitīvu informāciju, piemēram, paroles;
  • lieli binārie faili;
  • montāžas faili, kas tiek radīti pēc katras apkopošanas;
  • piemēram, OS / IDE faili, .Ds_store. MacOS vai .iml IntelliTid ideja - mums ir nepieciešams repozitorijs, kas ir atkarīgs no tā, cik vien iespējams mazs no sistēmas.

Ignorēt failu.gitignore. Lai atzīmētu failus, kurus mēs vēlamies ignorēt, varat izmantot meklēšanas modeļus (apsvērt tos vienkāršotas regulāras izteiksmes):

  • / ___ - novērš rekursivitāti - atbilst failiem tikai pašreizējā direktorijā;
  • __ / - atbilst visiem failiem norādītajā direktorijā;
  • * ___ - atbilst visiem failiem ar norādīto beigu;
  • ! - ignorējot failus, uz kuriem attiecas norādītais modelis;
  • [__] - atbilst jebkuram rakstzīmei, kas norādīti kvadrātiekavās;
  • ? - atbilst jebkuram simbolam;
  • / ** / - atbilst ligzdotajām katalogiem, piemēram, A / ** / D atbilst A / D, A / B / D, A / B / C / D, uc, un tā tālāk.

Mēs varam pat izmantot meklēšanas modeļus, norādot failu / mapi citās komandās. Piemēram, git pievienot SRC / *. CSS pievienos visus failus. CSS SRC mapē.

Komunikācija

Tā kā Komisijas ir pamats vēstures versijām, nebūs lieks uzzināt par viņiem nedaudz vairāk.

GIT COMA komanda atvērs teksta redaktoru, lai ievadītu ziņojumus. Arī šī komanda veic vairākus kopīgus argumentus:

  • -M ļauj jums uzrakstīt ziņojumu ar komandu, neatverot redaktoru. Piemēram, git saistība -M "stiprinājuma soma";
  • -A pārskaita visus uzraudzītos failus uz sagatavoto failu apgabalu un ietver tos commote (ļauj izlaist git pievienot pirms saistības);
  • --amend aizvieto pēdējo apņemšanos uz jaunu modificētu apņemšanos, kas ir noderīga, ja nepareizi ievadījāt pēdējās apņemšanās vai aizmirsu iekļaut dažus failus tajā.

Vairāki padomi, kuriem ir vērts klausīties:

  • Komiteja bieži: jūs nevarēsiet atgriezties izmaiņas, ja jūs atgriezīsieties pie kāda.
  • Viena izmaiņa ir viena: Nenovietojiet visas izmaiņas vienā komitācijā, sadaliet tos, lai tas būtu vieglāk roll atpakaļ.
  • Ziņojuma formāts: nosaukumam jābūt obligātai aizdedzei, mazāk nekā 50 rakstzīmēm, un tam būtu loģiski papildināt šīs izdarītības frāzi, ___ (šī apņemšanās noteiks kļūdas - šī apņemšanās noteiks bugs). Ziņojumam vajadzētu izskaidrot, kāpēc tika veikta apņemšanās, un paša apņemšanās parāda, kas ir mainījies. Plānots detalizēti Kā rakstīt ziņojumus par apņemšanos.
  • (Pēc izvēles) Nelietojiet nelielas izmaiņas: lielā repozitorijā daudzi mazi uzņēmumi var aizsprostot vēsturi. Labs tonis tiek uzskatīts, ka šādi apņemas, izstrādājot, un, pievienojot tos lielā repozitorijā, lai tos apvienotu vienā apņemšanās.

Skatīt vēstures izmaiņas

Jūs varat izmantot GIT žurnāla komandu, lai apskatītu iepriekšējo apņemšanās vēsturi apgrieztā hronoloģiskā secībā. Viņa var iziet dažādas iespējas:

  • -p ir redzamas izmaiņas katrā com.
  • --stat parāda saīsināto statistiku par apņemšanos, piemēram, mainīti faili un pievienoto / attālo virkņu skaits katrā no tiem;
  • -N rāda n. nesenie uzņēmumi;
  • -Since \u003d ___ un --stil \u003d ___ Ļauj filtrēt saistības ar laiku, piemēram, --Since \u003d "2019-01-01" parādīsies no 2019. gada 1. janvāra;
  • .
  • --grep un -s filtrs apņemas ar ziņojumiem / maiņas kodu, kas satur norādīto virkni, piemēram, git žurnāls -S_Name_name ļauj jums apskatīt funkcijas pievienošanu / dzēšanu;
  • - nav apvienošanos, kas saistītas ar apvienošanas filiālēm;
  • veta1..tell2 ļauj jums redzēt, kuras filiāles 2. saistības nav filiālē 1 (noderīga, apvienojot filiāles). Piemēram, git žurnāla meistars..tests parādīs, ko izriet no testa filiāles, kas nav maģistra (runāt ar filiālēm nedaudz vēlāk).
  • --left-pareizo filiāli1 ... filiāle2 rāda apņemas, kas ir vai nu filiālē 1 vai filiālē 2, bet ne gan gan; zīme< обозначает коммиты из ветка1 , а > - no filiāles2. Augšupielādējiet uzmanību: tiek izmantoti trīs punkti, nevis divi;
  • -L Pieņem argumentu sākumu, beigas: failu vai: failu: failu un parāda izmaiņu vēsturi, kas atrodas garās rindas vai funkcijas failā.

Vēl viena noderīga komanda ir vainīgs<файл> , kas par katru failu līniju parāda autoru un koncertu summu pēdējās izdarīt, kas ir mainījis šo virkni. -L.<начало>, <конец> Ļauj ierobežot šo komandu norādītajām rindām. To var izmantot, piemēram, lai noskaidrotu, kuras komitejas noveda pie īpašas kļūdas (lai jūs varētu atgriezties).

Visbeidzot, ir git grep komanda, kas meklē visus failus uzņēmumā vēsturē (un ne tikai darba direktorijā kā grep) saskaņā ar norādīto regulāro izteiksmi. OPTION -N Parāda atbilstošo līnijas numuru failā katrai spēlei, un --Count parāda atbilstību katram failam.

Piezīme nav sajaukt git grep ar git žurnālu --grep! Pirmais meklē failus starp apugiem, un pēdējais aplūko žurnāla ziņojumus.

Attālinātie serveri

Līdz šim mēs apspriedām git izmantošanu tikai vietējā mašīnā. Tomēr mēs varam uzglabāt attālāko krātuvju apņemšanās vēsturi, ko var uzraudzīt un atjaunināt (apsvērt savu attālo mākonis dublējumkopijas mūsu saistības vēsturi).

Git Remote -V komanda parāda sarakstu ar attāliem krātuvēm, ko mēs izsekojam, un nosaukumi, kurus esam piešķīruši.

Izmantojot git klona komandu Mēs ne tikai ielādējam sev repozitorijas kopiju, bet arī netieši izsekot attālo serveri, kas ir norādītajā adresē un kura piešķir nosaukuma izcelsmi.

Visvērtīgākās komandas:

  • git Remote Pievienot.<имя> - pievieno attālu repozitoriju ar norādīto nosaukumu;
  • git tālvadības noņemšana.<имя> - noņem attālu repozitoriju ar norādīto nosaukumu;
  • git tālvadības pārdēvēšana.<старое имя> <новое имя> - pārdēvē attālo krātuvi;
  • git tālvadības komplekts-URL<имя> - piešķir repozitoriju, kas nosauca jaunu adresi;
  • git tālvadības šovs.<имя> - Parāda informāciju par repozitoriju.

Šādas komandas darbojas ar noņemtajām filiālēm:

  • git ienest.<имя> <ветка> - saņem datus no konkrētā repozitorija filiāles, bet neapmeklē izmaiņas;
  • git pull<имя> <ветка> - apvieno norādīto repozitorijas filiāles datus;
  • git push.<имя> <ветка> - nosūta izmaiņas norādītajā repozitorija filiālē. Ja vietējā filiāle jau izseko tālvadības pulti, varat izmantot tikai git push vai git pull.

Tādējādi vairāki cilvēki var pieprasīt izmaiņas no servera, veicot izmaiņas vietējos eksemplāros un pēc tam nosūtīt tos uz attālo serveri, kas ļauj jums mijiedarboties viens ar otru vienā repozitorijā.

Filiāle

Tas viss ir labi un lieliski, ja katrs izstrādātājs strādā pie projekta dažādos laikos. Iepriekš norādītās diagrammas pārvietojās tikai situācijas, kas mainās sākotnējā repozitorijā vai vietējā kopijā, bet ne vairāku cilvēku darbā.

Tas noved pie GIT nozares galvenās iezīmes, spēja strādāt pie dažādām projekta versijām. Tas nozīmē, ka viena saraksta vietā ar pasūtīto apņemšanos stāsts atšķirs noteiktos punktos (kas padara to līdzīgu kokam). Katra Git filiāle satur gaismas galvu uz pēdējo izdarīt šo pavedienu, kas ļauj jums izveidot daudz filiāles bez papildu izmaksām. Padoms: zvaniet filiālei saskaņā ar tajā izstrādāto funkcionalitāti. Noklusējuma filiāli sauc par Master.

Tāpēc mums ir vispārējs rādītājs Galvu. Un galvu katrai filiālei. Tādējādi, pāreja starp zariem nozīmē tikai pārvietojas Galvu. Atbilstošās filiāles galvā.

Standarta komandas:

  • git filiāle.<имя ветки> - izveido jaunu filiāli ar galvu, kas norāda uz Galvu.. Ja jūs neizmantojat argumentu<имя ветки> , komanda parādīs visu vietējo filiāļu sarakstu;
  • git izrakstīšanās<имя ветки> - pārslēdzas uz šo filiāli. Jūs varat nodot -b iespēju, lai izveidotu jaunu filiāli pirms pārslēgšanas;
  • git filiāle -D.<имя ветки> - Noņem filiāli.

Kā mūsu vietējā repozitorija, un tālvadības, var būt daudz filiāles, tāpēc, kad jūs izsekot attālo repozitoriju, faktiski uzraudzīta noņemta filiāle (Git klons rada jūsu galveno filiāli uz attālo krātuves izcelsmi / galveno filiāli).

Saistīšanās ar noņemto filiāli:

  • git filiāle -U.<имя удалённого репозитория>/<удалённая ветка> - saistās ar pašreizējo filiāli uz norādīto attālo filiāli;
  • git checkout --track<имя удалённого репозитория>/<удалённая ветка> - iepriekšējās komandas analogs;
  • git checkout -b.<ветка> <имя удалённого репозитория>/<удалённая ветка> - izveido jaunu vietējo filiāli un sāk sekot tālvadībai;
  • git Branch --v - parāda vietējās un uzraudzītās tālvadības filiāles;
  • git izrakstīšanās<удалённая ветка> - izveido vietējo filiāli ar tādu pašu nosaukumu kā tālvadības pulti un sāk izsekot to.

Kopumā Git Checkout ir saistīta ar vietas atrašanās vietu, kas norāda galvu filiālēm, kas izskatās kā GIT reset kustas vispārējo galvu.

Pārstrādes procedūru un tīrīšana

Ir viens smalkums - ja komutācijas git filiāles prasa, lai darba stāvoklis ir tīrs, tas ir, visas izmaiņas izsekošanas failos jānosaka.

Apm. Iztulkojums Tas nav gluži tik. Dažos gadījumos git var automātiski nodot nepiemērotās izmaiņas uz citu filiāli.

Tomēr dažreiz jums ir nepabeigtas izmaiņas, ko nevar noteikt. Šādā situācijā viņi var tikt saglabāti un "slēpt", izmantojot Git Stash komandu. Lai atgrieztu izmaiņas, lietojiet Git Stash.

Iespējams, tā vietā vēlaties izdzēst visas izmaiņas. Šajā gadījumā izmantojiet Git Clean komandu. Opcija arī izdzēsīs nekvalificētus failus. Padoms: pievienojiet -n iespēju, lai redzētu, kas notiek, kad sākat git tīru bez tiešas lietošanas.

Apvienojot filiāles

Pēc tam, kad mēs apspriedām, kādas filiāles ir gan starp tām slēdzi, ir pienācis laiks runāt par to, kā tos var apvienot pēc attīstības. Filiāle, kurā mēs vēlamies apvienot izmaiņas, tiks sauktas par galveno, un filiāle, no kuras mēs tos apvienosimies - tematiski. Ir divi veidi, kā veikt izmaiņas no vienas filiāles uz citu: apvienojot un pārvietoties.

Apvienošanās

Tas ietver jaunu apņemšanos, kas balstās uz divu filiāļu priekšteci, un norāda abas galvas kā iepriekšējo apņemšanos. Apvienošanās, mēs ejam uz galveno filiāli un izmantojam GIT sapludināšanas komandu<тематическая ветка> .

Ja abas filiāles mainās to pašu faila daļu, tad rodas konflikta konflikts - situācija, kad git nezina, kuru faila versiju saglabāt, tāpēc ir nepieciešams atrisināt konfliktu personīgi. Lai redzētu pretrunīgus failus, izmantojiet git statusu.

Pēc šādu failu atvēršanas jūs redzēsiet līdzīgus konfliktu risināšanas marķierus:

<<<<<<< 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 Tests: index.html

Nomainiet šajā blokā visu versijā, kuru vēlaties atstāt, un sagatavot failu. Pēc visu konfliktu atrisināšanas jūs varat izmantot Git apņemties, lai pabeigtu apvienošanu.

Pārvietot

Tā vietā, lai apvienotu abas apvienošanās komitejas filiāles, pārceļas tematiskās filiāles komitejas jaunu bāzes filiāles komiteju kopuma veidā, kas izliet uz tīrāku mantu vēsturi.

Git Rebase komandu izmanto, lai pārvietotos<основная ветка> <тематическая ветка> kas atkārto izmaiņām tematiskajā filiālē uz galvenā; Galvas tematiskā filiāle norāda pēdējo reproducēto apņemšanos.

Pārvietot vs apvienošanās

Pēc žurnāla apvienošanas ar stāstu var izskatīties diezgan nejauši. No otras puses, pārvietojas ļauj pārrakstīt stāstu normālā, konsekventa formā.

Tātad, kāpēc jums ir nepieciešams apvienošanās, ja jūs varat izmantot visu laiku pārvietojas? Diemžēl, pārvietošana nav panaceja no mulsinošiem žurnāliem, jo \u200b\u200bpārvietotās saistības faktiski atšķiras no oriģināla, lai gan viņiem ir tas pats autors, ziņojums un izmaiņas.

Iedomājieties scenāriju:

  • Jūsu filiālē jūs izveidojat vairākus apņemšanos un apvienot tos galvenajā filiālē.
  • Kāds cits nolemj strādāt, pamatojoties uz jūsu apņemšanos.
  • Jūs nolemjat pārvietot savus pienākumus un nosūtīt tos uz serveri.
  • Kad kāds mēģina apvienot savu darbu, pamatojoties uz jūsu sākotnējo apņemšanos, galu galā mēs saņemsim divas paralēlas filiāles ar vienu autoru, ziņas un izmaiņām, bet ar dažādiem apņēmiem.

Tāpēc šeit ir Padome:

Pārvietojiet izmaiņas tikai savā privātajā vietējā filiālē - nepārvietojiet apņemšanos, uz kuriem kāds cits ir atkarīgs.

Komiteja atcelšana - atgriezties un atiestatīt

Līdzīgas debates par to, kas ir labāk izmantot, rodas, kad vēlaties atgriezties pie commote. Komandas git atgriežas.<коммит> Izveido jaunu apņemšanos, atcelt izmaiņas, bet saglabājot vēsturi, bet git reset<коммит> Pārvieto galvas rādītājs, nodrošinot tīrāku vēsturi (kā tad, ja šī izdarīt nekad nav noticis). Ir svarīgi atzīmēt, ka tas nozīmē arī to, ka jūs vairs nebūs atpakaļ uz šīm izmaiņām, piemēram, ja jūs joprojām nolemjat, ka apņemšanās atcelšana bija nevajadzīga. Apkopēja - nenozīmē labāk!

Apkopot

Šajā posmā jums ir gandrīz viss, kas jums nepieciešams, lai strādātu ar git. Zemāk būs vairāki (pēc izvēles) uzlabotas padomi lielākai kontrolei pār apņemšanos un vēsturi. Turklāt mēs nejauši ietekmējam Github - vienu no slavenākajām platformām, kas strādā ar Git, kas var būt noderīga jums.

Github.

Github ir platforma, kas saglabā git repozitoriju tās vairākos serveros. Kā Github lietotājs, jūs varat saglabāt savus attālos krātuves uz saviem serveriem, kā arī veicināt citu atvērtā koda krātuve. Github papildina git izmantošanu ar dažām jaunām funkcijām.

Piemēram, jūs varat veikt dakšas attālo krātuvi, tas ir, lai izveidotu savu repozitorija kopiju Github uz ziemeļiem. Tas ir noderīgi gadījumos, kad jums nav tiesību izveidot filiāli oriģinālajā repozitorijā. Kad izmantojat komandu Git Clone, jūsu vietējais repozitorijs izseko attālo formu kā izcelsmi un sākotnējo repozitoriju kā augšup.

Pēc tam jums var būt nepieciešams iztukšot attālās repozitorijas tematisko filiāli oriģināla galvenajā filiālē. Lai to izdarītu, jūs varat izveidot jaunu vilkšanas pieprasījumu - pieprasījums veikt izmaiņas, kur Github pārbauda konfliktu klātbūtni, pirms jūs pozicionējat apvienoties. Bieži vien ir citas pārbaudes pirms apvienošanās, piemēram, koda vai pat palaišanas testu apskate un apstiprināšana. Vaicājumā jūs varat apspriest kodu un visus pienākumus, kurus nosūtījāt uz attālo tematisko filiāli, tiks automātiski pievienota pieprasījumam, pat ja tas ir izveidots pirms šo apņemšanās.

Papildu lietošana: interaktīva sagatavošana

Jūs varat viegli pārvaldīt sagatavoto failu apgabalu (piemēram, nosakot vairākus mazus apņēmumus, nevis vienu lielu), izmantojot interaktīvu konsoli, ko var uzsākt git add -i. 8 komandas ir pieejamas:

  • statuss - parāda īsu aprakstu par katru failu, kas (nav) sagatavots;
  • atjaunināšana - sagatavo izsekošanas failus;
  • atgriezties - noņemiet vienu vai vairākus failus no sagatavotās platības;
  • pievienot neatgriezenisku - sagatavo nekvalificētu failu;
  • patch - sagatavo tikai daļu no faila (noderīga, ja jūs, piemēram, mainījām vairākas funkcijas, bet jūs vēlaties, lai pārtrauktu izmaiņas vairākos apzīmējumos). Pēc faila izvēles jums tiks parādīts jums fragmentus un prezentēt iespējamās komandas: posms šis rieciens? . Vai es varu ievadīt? lai noskaidrotu, kas padara katru komandu;
  • atšķiras - parāda sagatavoto failu sarakstu un ļauj apskatīt izmaiņas katram no tiem;
  • iziet no interaktīvās konsoles;
  • palīdzība - parāda īsu katras komandas aprakstu.

Simbols * blakus failam nozīmē, ka komanda mainīs tā statusu (sagatavots / nesagatavots atkarībā no tā, vai notiek atjauninājums vai atcelšana). Ja nospiežat ENTER, ievadot neko jebkurā no komandu izvēlnē, tad visi faili pārslēgsies uz sagatavotu stāvokli.

Lūdzu, ņemiet vērā, ka ielāpu izveide (tikai daļa no faila) ir pieejams ne tikai interaktīvajā konsolē, bet arī ar GIT pievienot komandu.

Izvērstā lietošana: Noteikumu vēsture

Lielāku kontroli pār vietējās filiāles vēsturi, jūs varat izmantot Git Rebase -i Head ~ komandu n. kas atvērs interaktīvo konsoli, lai pārvietotu pēdējo kopumu n. Komitejas uzskaitīti, lai no vecā uz jauno (tas ir, tādā secībā, kādā tie tiks pārvietoti). Tātad jūs varat "rediģēt vēsturi", tomēr atcerieties, ka oriģinālos jautājumus nevar mainīt, tikai, lai pārvietotos.

Jūs varat mainīt apņemšanās secību, mainot kārtību, kādā tie ir uzskaitīti.

Mainiet Code ziņu / pārdošanas apņemšanos

Lai norādītu komiteju, kuru vēlaties mainīt, tiek izmantota rediģēšanas komanda. Tad, kad git pārvietosies, tas apstāsies šajā com. Pēc tam jūs varat izmantot git saistības --amend mainīt ziņu vai sagatavot aizmirstos failus. Ja jūs vēlaties sadalīt compote, pēc apstāšanās, ievadiet git reset galvu ^ (kā rezultātā, tas tiks pārvietots uz vienu apņemšanos atpakaļ, un visi faili mainīti šajā apņemšanās pārslēgsies uz statusu nesagatavotas). Tad jūs varat noteikt failus individuālā apņemšanās parastajā veidā.

Pēc rediģēšanas ir pabeigta, ievadiet Git Rebase --continue.

Pārrakstīt vairākas izdarīt

Dažreiz jums var būt nepieciešams pārrakstīt vairākus apņemšanos - šādos gadījumos varat izmantot Git filtru. Piemēram, lai izdzēstu nejauši ierakstītu failu, jūs varat ievadīt Git filtru -tree-Filter "Git RM -F<имя файла>"Vadītājs. Tomēr uzskata, ka tajā pašā laikā viss stāsts kustas.

Apvienojot vairākus apņemšanos

Strādājot pie jauna iezīme projektā, jūs varat pakāpeniski ierakstīt pat mazākās izmaiņas tematiskajā filiālē. Tomēr, ņemot vērā to, ka vēsture ir aizsērējusi ar šādu nelielu apņemšanos, kas var būt pretrunā ar projekta noteikumiem. To var labot, apvienojot vairākus apņemšanos uz vienu lielu. Lai to izdarītu, vispirms izmantojiet izvēles komandu, lai izvēlētos pirmo apņemšanos un pēc tam sekojošu skvošu. Git piemēros visas izmaiņas vienā sākumā un lūdz jūs rediģēt vispārējās apņemšanās ziņojumu.

Pārsūtiet atsevišķu komātu

Papildus apvienošanai / kustībai visu apņemšanos tematiskajā filiālē, jūs varat interesēt tikai noteiktā apņemšanās. Pieņemsim, ka jums ir vietējā projektu filiāle, kur jūs strādājat ar vairākiem potenciālajiem rakstiem, bet vēlaties publicēt tikai vienu no tiem. Lai to izdarītu, varat izmantot Git Cherry-Pick komandu. Lai iegūtu noteiktu apņemšanos, no kuriem mēs vēlamies izvēlēties, jūs varat izmantot Git žurnālu<основная ветка>..<тематическая> .

Lūdzu, ņemiet vērā, ka šādā veidā tiek izveidota jauna saistība, kas atkārtojas tikai atlasītās saistības (tas ir, atšķirība starp šo apņemšanos un iepriekšējo), bet ne tās stāvokli.

Secinājums

Tāpēc mēs pārskatījām Git pamatjēdzienus. Jūs varat izmantot šo rakstu kā īsu atsauces grāmatu, un jūs varat izlasīt grāmatu "Pro git", kas ir daudz vairāk (~ 450 lappuses) un apraksta git dziļāk.

Vēlaties izrakt dziļāk git, bet jums ir maz (vai otrādi, daudz) no vienas lielas grāmatas? Tad jums vajadzētu apskatīt mūsu.

Izmaiņu konfrontācija - personas galvenā iezīme. Ja laikā, kad sākāt strādāt ar versiju vadības sistēmām, nebija git - tas ir ļoti iespējams, ka jūs sākāt ar subversion. Bieži vien cilvēki saka, ka git ir pārāk sarežģīti iesācējiem. Tomēr es ļaušu sev nepiekrist jums.

Šajā rakstā es jums saku, kā izmantot git darbu ar saviem projektiem. Mēs pieņemam, ka jūs izveidojat projektu no nulles un vēlaties izmantot git kā versijas kontroles sistēmu. Pēc galveno komandu izlasīšanas mēs lasīsim, kā jūs varat izvietot savu kodu Github.

Šis raksts runās par pamata lietām - kā inicializēt projektu, kā pārvaldīt jaunus un esošos failus un kā saglabāt savu kodu mākonī. Mēs samazināsim dažas sarežģītas lietas, piemēram, sazarošana, jo raksts ir orientēts uz iesācējiem.

Git instalēšana.

Oficiālajā vietnē git ir dažādās sistēmās - Linux, Mac, Windows. Mūsu gadījumā mēs izmantosim Ubuntu 13.04 un git, ko mēs uzstādīsim, izmantojot apt-get.

Sudo apt-get instalēt git

Sākotnējā konfigurācija

Izveidojiet direktoriju, kurā mēs strādāsim. Jūs varat izmantot arī GIT, lai strādātu ar esošo projektu, un šajā gadījumā jūs neradīsiet demonstrācijas direktoriju, kā aprakstīts turpmāk.

Mkdir my_git_project cd my_git_project

Pirmkārt, ir nepieciešams inicializēt GIT repozitoriju projekta direktorijā. To var izdarīt pēc komandas init, kas izveido direktoriju .git ar visu informāciju par jūsu projektu.

Git config --global user.name "shaumik" git config --global user.email " [E-pasts aizsargāts]"Git config --global color.ui" Auto "

Ir vērts atzīmēt, ka, ja jūs nenorādāt savu adresi un vārdu, tad noklusējuma vērtības tiks izmantotas vietā. Mūsu gadījumā noklusējuma vērtības būs donny un [E-pasts aizsargāts]

Mēs arī iestatām interfeisa krāsu uz auto vērtību, lai izejas git komandu būs krāsa. Mēs pievienojam --globālo prefiksu uz šīm komandām, lai šīs vērtības tiktu izmantotas visā sistēmā, un nebija nepieciešams tos noteikt katram projektam.

COD failu sagatavošana

Nākamais solis mēs izveidosim vairākus failus. Jūs varat izmantot jebkuru teksta redaktoru par to. Ņemiet vērā, ka, ja jūs inicializēt git esošajā projektā, jums nav nepieciešams veikt šo soli.

Pārbaudiet krātuves stāvokli

Tagad, kad jūsu projektā ir faili, redzēsim, kā git pārsūdzēt ar viņiem. Lai pārbaudītu pašreizējo krātuves statusu, izmantojiet komandu GIT statusa.

Pievienojiet failus git

Šajā posmā git nav sekot vienam no mūsu failiem. Tas ir nepieciešams, lai konkrēti pievienot failus git, lai tas noticis. Lai to izdarītu, izmantojiet pievienošanas komandu.

Git pievienot my_file.

Pēc repozitorijas statusa pārbaudes mēs redzam, ka viens no failiem jau ir pievienots tam.

Lai pievienotu vairākus failus, mēs izmantojam šādu informāciju (paziņojums, ka mēs pievienojām pirmo failu agrāk, tāpēc mēs pievienojam tikai atlikušos divus).

Git pievienot myfile2 myfile3

Jūs varat izmantot git pievienotu rekursīvi, bet esiet uzmanīgi ar šo komandu. Ir daži faili (piemēram, apkopoti programmas), kas nedrīkst pievienot versijas kontroles sistēmai. Ja izmantojat git pievienotu rekursīvi, šie faili būs arī uz repozitorija.

Dzēst failus

Iedomājieties, ka jūs nejauši pievienojāt failu repozitorijai, kuram nevajadzētu tur nokļūt. Vai vēlaties noņemt jebkuru failu no versijas kontroles sistēmas. Kopumā Git RM komanda ne tikai izdzēsīs failu no repozitorija, bet arī fiziski izdzēš to no diska. Lai git apturētu faila izsekošanu, bet tas palika uz diska, izmantojiet šādu komandu:

Git rm --cached [faila nosaukums]

Komimimima izmaiņas

Kad esat pievienojis visus nepieciešamos failus, varat komentēt (noteikt) tos git. Iedomājieties, ka apņemšanās ir projekta statusa momentuzņēmums noteiktā posmā, uz kuru jūs jebkurā laikā varat atgriezties un redzēt projekta statusu tajā laikā. Ar katru komiteju ziņojums ir saistīts, ka arguments ir noteikts pēc prefiksa -m

Git izdarīt -m "mana pirmā izdarīt"

Norādiet ziņu, kurā būs noderīga informācija, jo tie palīdz saprast, kas tika mainīts šajā apņemšanās. Izvairieties no dažiem kopīgiem ziņojumiem, piemēram, "Bugs noteikumiem". Ja jums ir kļūdu izsekotājs, varat norādīt ziņojuma veidu "Bug # 123". Laba prakse - norādiet filiāles nosaukumu vai uzlabojumus. Piemēram, "Asset Management - pievienoja iespēju radīt PDF, pamatojoties uz aktīvu" - skaidru un saprotamu ziņojumu.

Git nosaka commote garo heksadecimālo numuru. Parasti nav nepieciešams kopēt visu līniju, pirmās 5-6 rakstzīmes ir pietiekamas, lai noteiktu īpašu apņemšanos. Ekrānuzņēmumā var redzēt, ka mūsu komāts ir identificēts ar numuru 8DD76FC.

Papildu apņemas

Izmirsīsim vairākus failus pēc tam, kad mēs tos izvirzījām. Pēc tam, kad mēs tos mainījām, Git statuss ziņos, ka esam mainījuši failus.

Jūs varat redzēt, kas ir mainījies šajos failos kopš iepriekšējās izdarīšanas, izmantojot git diff komandu. Ja vēlaties apskatīt konkrēta faila izmaiņas, varat izmantot git diff<файл> .

Ir nepieciešams indeksēt izmaiņas un tās. Visi modificētie projekta faili var pievienot šādai komandai:

Jūs varat izvairīties no šīs komandas izmantošanas, ja pievienojat git parametru. Šī komanda indeksē visus modificētos failus un comiums tos. Bet šī pieeja var būt diezgan bīstama, tāpēc kļūdaini jūs varat izcelties faktu, ka es negribēju. Piemēram, pieņemsim, ka esat atvēris failu un nejauši to mainījis. Indeksējot modificētos failus, jums tiks paziņots par izmaiņām katrā failā. Bet, ja jūs nosūtāt visus modificētos failus, neraugoties uz palīdzību. Git Comment -A, tad visi faili tiks izdarīti, ieskaitot tos, kurus jūs neuzņemat nevēlaties.

Tiklīdz jūs indeksējat failus, varat doties uz apņemšanos. Kā minēts iepriekš, jūs varat norādīt ziņu ar COMPLY, izmantojot atslēgu -m. Bet jūs varat arī norādīt vairāku līniju komentārus, izmantojot GIT Coll komandu, kas atver konsoles redaktoru, lai ievadītu komentāru.

Problēmu pārvaldība

Lai apskatītu projekta vēsturi, varat izmantot šādu komandu:

Tas parādīs pilnu vēstures vēsturi saistību sarakstā un informācijā par tiem. Informācija par apņemšanos satur hash apņemšanos, autoru, laika un komutācijas ziņojumu. Ir daudz veidu GIT žurnālu komandas, kas būs iepazīties gadījumā, ja izmanto zarnus git. Lai skatītu konkrētas saistības un modificētu failu datus, palaidiet šādu komandu:

Git šovs.<хеш_коммита>

kur<хеш_коммита> - Hex numurs, kas saistīts ar apņemšanos. Tā kā šī rokasgrāmata ir paredzēta iesācējiem, mēs neuzskatīsim, kā atgriezt valsti noteiktā apņemšanās laikā vai kā kontrolēt filiāles.