Sveiki, visi continuing Pirms turpināt pasūtījumu saraksta tekstus, es vēlos atzīmēt git 2.16 izlaišanu, pateicoties katram no tiem, kas nosūtīja plāksteri, un katram no lietotājiem. Kopumā starp atjauninājumiem un labojumiem mums bija kā 4000 rindiņu , kas gan nerunā par manu pirmo versiju, taču runā par jūsu laipnību 🙂 Paldies! Tagad es jums pastāstīšu nelielu noslēpumu, līdz šim nav bijis laika, kad es nebūtu apsēdies rakstīt rakstu un daudz par to domājis, parasti es vienkārši rakstu pēc kārtas, un tad labā ķirzaka izturas pret izlabo manas drukas kļūdas 🙂 tāpēc paldies arī viņam.
Tas nav labākais, kad mēs runājam par rakstu rakstīšanu, domājams, ka tam vajadzētu būt mērķim un veidot struktūru, kā arī atzīmēt mazus punktus un pārskatus utt. Utt. Tagad tas attiecas ne tikai uz emuāriem kopumā, bet arī tas ir būtiski programmatūra, kas izliekas par labu 🙂 Lai veiktu šo uzdevumu, un pēc dažām problēmām ar versijas vadības programmatūru, kas pirms dažiem gadiem tika izmantota kodola izstrādē, tā piedzima git
????
Kur mācīties git
?
Dokumentācijas apjoms ap git ir satriecošs, pat ja mēs vienkārši paņemtu instalācijas komplektācijā iekļautās rokasgrāmatas, mums būtu ļoti daudz lasāmu. Es personīgi atrodu git grāmata diezgan labi izstrādāts, pat es esmu iztulkojis dažus no 7. sadaļas segmentiem, man joprojām trūkst daži, bet dodiet man laiku 😛 varbūt šajā mēnesī es varu tulkot to, kas palicis pāri no šīs sadaļas.
Ko dara git?
Git ir izstrādāts, lai būtu ātrs, efektīvs, vienkāršs un atbalstītu lielu informācijas apjomu, galu galā kodola kopiena to izveidoja savai programmatūrai, kas ir viens no lielākajiem brīvās programmatūras kopdarbiem pasaulē un kurā ir simtiem iemaksu stundā kodu bāzē, kas pārsniedz vienu miljonu rindu.
Interesanta lieta par git ir veids, kā uzturēt datu versijas. Agrāk (citas versiju vadības programmas) vēsturē tika ņemti visu esošo failu saspiešanas gadījumi, piemēram, izveidojot rezerves. Git izmanto citu pieeju, veicot a commit
ir atzīmēts vēstures punkts, šim vēstures punktam ir virkne modifikāciju un darbojas, dienas beigās visas modifikācijas laika gaitā tiek saliktas kopā un iegūti faili, lai tos varētu saspiest vai atzīmēt kā atskaites punktus. versijas. Tā kā es zinu, ka tas viss izklausās sarežģīti, es vedīšu jūs uz burvju ceļojumu ar superpamatnovadu.
Mazs kalkulātikas projekts
Calculamatics būs programma, kas atradīs norādītā skaitļa kvadrātus, mēs to izdarīsim C un tas būs pēc iespējas vienkāršāk, tāpēc negaidiet no manis daudz drošības pārbaudes. Vispirms mēs izveidosim repozitoriju, es to darīšu kopā ar Gitubu, lai nogalinātu divus putnus ar vienu akmeni:
Mēs esam pievienojuši pāris diezgan vienkāršas lietas, piemēram, licenci (ļoti svarīgi, ja vēlaties aizsargāt savu darbu, manā gadījumā piespiest viņus dalīties rezultātos, ja viņi vēlas to izmantot kā pamatu: P)
Tagad ejam uz mūsu dārgo termināli, git clone
ir komanda, kas ir atbildīga par krātuves lejupielādi url
piešķir un izveido lokālu kopiju mūsu datorā.
Tagad pārbaudīsim git log
kas noticis mūsu projekta vēsturē:
Šeit mums ir daudz informācijas dažādās krāsās: mēģināsim to izskaidrot:
pirmā dzeltenā līnija ir "izdarīt svītrkodu", katrai saistībai ir savs unikālais identifikators, ar kuru jūs varat veikt daudzas lietas, taču mēs to saglabāsim vēlākam laikam. Tagad mums ir HEAD
no Celestes un master
zaļa. Tie ir "norādes", kuru funkcija ir norādīt uz mūsu vēstures pašreizējo atrašanās vietu (HEAD
) un filiāli, pie kura strādājam pie sava datora (master
).
origin/master
ir interneta līdzinieks, origin
ir noklusējuma nosaukums, kas ir piešķirts mūsu URL
, Un master
ir filiāle, kurā jūs strādājat ... lai būtu vienkārši, tie, kuriem ir /
ir tie, kas nav mūsu komandā, bet ir atsauces uz to, kas atrodas internetā.
Tad mums ir autors, datums un laiks un saistību kopsavilkums. Šis ir neliels pārskats par to, kas ir noticis tajā vēstures brīdī, ļoti svarīgs daudzos projektos, un ir daudz nosodītas informācijas. Apskatīsim tuvāk to, kas noticis ar komandu git show <código-de-commit>
Komanda git show aizved mūs uz šo ekrānu plākstera formātā, kur jūs varat redzēt, kas tajā laikā vēsturē ir pievienots un kas ir noņemts (ja kaut kas būtu noņemts), līdz šim tas tikai parāda, ka ieraksti .gitignore
,README.md
y LICENSE
.
Tagad ķeramies pie lietas, uzrakstīsim failu 🙂 mēs izveidosim pirmo pagrieziena punktu mūsu vēsturē 😀:
Īsāk sakot, mēs izveidosim programmu, kas parāda vienkāršu 🙂 argumentu skaitu, kas tika nodoti, izpildot to
Tas bija viegli, tagad redzēsim šādu noderīgu komandu: git status
Kāda veida sirsnīga dvēsele ir iztulkojusi gitu, lai būtu viegli sekot, šeit mums ir daudz noderīgas informācijas, mēs zinām, ka mēs esam galvenajā nozarē, ar kuru mēs esam atjaunināti origin/master
(Github filiāle), mums ir nesekoti faili! un to pievienošanai mums ir jāizmanto git add
, mēģināsim 🙂
Tagad mums ir jauna zaļā zona, kurā tiek parādīts fails, kuru esam pievienojuši darba zonai. Šajā vietā mēs varam sagrupēt izmaiņas, lai apņemtos, apņemšanās sastāv no atskaites punkta visā mūsu projekta vēsturē, mēs izveidosim saistības 🙂 git commit
Īsumā izskaidrojot, dzeltenā līnija ir mūsu apņemšanās nosaukums, es rakstu main.c tikai vizuālas atsauces dēļ. Melnais teksts ir skaidrojums par izmaiņām, kas veiktas kopš iepriekšējās saistības līdz šim brīdim: mēs saglabājam failu un redzēsim, ka mūsu saistības ir saglabātas reģistrā.
Tagad mēs iepazīsimies ar mūsu projekta vēsturi git log
Atkal žurnālā, tagad mēs varam redzēt, ka zaļā un sarkanā līnijas ir atšķirušās, tas ir tāpēc, ka mūsu datorā mēs esam apņēmības pilni virs tiem, kas saglabāti internetā 🙂 mēs turpināsim darbu, pieņemsim, ka tagad es vēlos parādīt ziņojums, ja lietotājs programmā ievieto vairākus argumentus (kas sajauktu kalkulatoru 🙂)
Kā redzam, mūsu programma ir ļoti augusi 😀, tagad mums ir funkcija imprimir_ayuda()
kas parāda ziņojumu par to, kā izmantot aprēķinus, un blokā main()
tagad mēs veicam pārskatu ar if
(Kaut ko tādu, ko mēs redzēsim programmēšanas apmācībā citā laikā, pagaidām ir jāzina tikai tas, ka, ja kalkulatikā tiek ievadīti vairāk nekā 2 argumenti, ka programma beidzas un tiek parādīta palīdzība. Izpildīsim to:
Kā redzat, tagad tas izdrukā piegādāto numuru nevis argumentu skaitu, bet kuru es jums iepriekš nebiju teicis 🙂 ziņkārīgajiem echo $?
parāda pēdējās izpildītās programmas izejas kodu, kas ir 1
jo tas ir beidzies ar kļūdu. Tagad pārskatīsim, kā notiek mūsu stāsts:
Tagad mēs zinām, ka esam apņēmušies 1 priekšā Github, ka fails main.c
ir modificēts, izveidosim nākamo saistību, darot git add main.c
un pēc tam git commit
????
Tagad mēs esam bijuši mazliet konkrētāki, jo esam ieviesuši funkciju un mainījuši validācijas kodu. Tagad, kad tas ir saglabāts, mēs pārskatīsim pēdējās izmaiņas. Mēs to varam redzēt ar git show HEAD
Tagad jūs varat redzēt sarkanās un zaļās līnijas, mēs esam pievienojuši bibliotēku stdlib.h
, pārveidoja lielu daļu koda un pievienoja funkciju mūsu stāstam.
Tagad mēs aplūkosim žurnālu: (git log
)
Mēs varam redzēt, ka esam divas reizes apsteiguši Github versiju, mēs mazliet izlīdzināsim marķieri 🙂 git push origin master
Ar šo mēs sakām, nosūtiet manas saistības uz URL origin
uz zara master
Apsveicam! Tagad jūsu izmaiņas notiek vietnē Github, vai jūs man neticat? pārskatīsim to 😉
Tagad mums ir 3 saistības vietnē Github 🙂
Kopsavilkums
Mēs esam skāruši pamata elementus git
, tagad viņi var izveidot vienkāršu darbplūsmu savos projektos, tas diez vai ir kaut kas no visdažādākajām lietām, ko var paveikt ar git, taču tas noteikti ir vispraktiskākais un ikdienas darbs izstrādātājam vai emuāru autoram. Mēs vēl neesam sasnieguši kalkulatora beigas, bet to atstāsim citai reizei 😉 Liels paldies, ka ieradāties šeit, un es ceru, ka tas jums palīdzēs piedalīties vairākos projektos
Sveiki ... Es nezinu, vai jūs esat, bet es nevaru redzēt attēlus šajā pārskatā ...
Sveicieni
Tā bija problēma ar manu pārlūkprogrammu. Kauns par īgnumu.
Man tas joprojām ir jāizlasa sīkāk, es esmu iesācējs.
Lielisks raksts, lai sāktu ar git, lai gan es iesaku veikt piezīmes, lai saprastu detaļas.
Pāris lietas man nav bijušas skaidras:
kāds ir variants Pievienojiet .gitignore Clai gan es domāju, ka to redzēšu, kad to praktizēšu,
kāpēc jums ir jāpārtaisa git add main.c pirms nākamās git saistības, vai add main.c saka git salīdzināt šo failu ar tīkla versiju? Vai tas automātiski nesalīdz visus pievienotos failus izsekošanai?
Labdien, Guillermo, labi, ka jums tas šķita noderīgs, lai atbildētu uz jūsu jautājumiem:
.gitignore ir fails, kas paziņo git, kurus formātus vai modeļus ignorēt, šajā gadījumā atlasot C, tiek ignorēti .o faili un citi, kas tiek ģenerēti kompilācijas laikā, kas ir labi, jo pretējā gadījumā jūsu gits uzreiz kļūtu traks Katrā apkopojumā un pēcpārbaudē 🙂 jūs varat pārbaudīt lielo skaitu formātu, kas nav iekļauti C veidnē, veicot kaķi vai izmantojot teksta redaktoru.
Lai gan git sekos katram failam, kas pievienots darba kokam, ir īpaši jāizvēlas, kuri faili ievadīs nākamo apņemšanos, lai sniegtu jums piemēru. Pieņemsim, ka jūsu darbs ir licis jums modificēt 5 dažādus failus pirms tam jāspēj redzēt rezultātu. Ja vēlaties būt mazliet konkrētāks un paskaidrot, kas katrā no tiem tiek darīts, varat izdarīt git add file1; git saistīt; git pievienot failu2; git apņemties… .3,4,5; git apņemties. Tādā veidā jūsu stāsts ir tīrs un izmaiņas ir precīzi definētas. Un gadījumā, ja jums kaut kas ir jāmaina vai jāatgriež (uzlabotas tēmas), jūs varat mainīt konkrētas lietas vai pievienot konkrētas lietas, nemainot pārējo.
Ceru, ka tas palīdz 🙂 sveicieni un paldies par jautājumu
PS: git add nesaka salīdzināt ar tīkla versiju, bet ar iepriekšējo saistību jūsu darba līnijā, ja tas ir bijis lokāls (zaļš), tas salīdzinās to ar šo, ja tas ir bijis attālināts (sarkans), tas būs salīdzināt ar to citu. Tikai, lai precizētu 😉
Perfekti, protams, tas precizē.