Git -koncepcijos „scenos“ gavimas

Vis dar sunku rasti savo galvą suvynioti į sustojimo koncepciją, nes ji taikoma „Git“.

Ar galima daryti analogiją su SVN? Kas yra pagrindinis tikslas sukurti scenos lygį git?

7
28 июля '12 в 20:25 2012-07-28 20:25 eco_bach yra nustatytas liepos 28 d . 12 val. 20:25 2012-07-28 20:25
@ 3 atsakymai

Panašumai:

Norėdami stebėti, turite pridėti failus, kurie turėtų būti saugyklos dalis. Norėdami tai padaryti, abu įrankiai naudoja komandą add . Failų pridėjimas reiškia pasiruošimą.

Skirtumai:

„Git“ leidžia pridėti papildomų failų, kai pridedami failai. Galite nuspręsti pridėti visą failą arba atskiras kodo eilutes. Failų įtraukimas į indeksą ar žingsnį suteikia daugiau lankstumo. SVN automatiškai užfiksuoja visus failo pakeitimus, kurie jau buvo įtraukti į saugyklą. „Git“ priima sprendimą dėl to, kokie pakeitimai susiję su kiekvienu sandoriu su vartotoju. Kitaip tariant, toliau nurodytas įsipareigojimas „Git“ apima tik tuos pakeitimus (eilutes ar failus), kurie buvo nustatyti, neatsižvelgiant į failo sekimo būseną. SVN automatiškai įtraukia visus stebimų failų pakeitimus.

Papildoma informacija:

Pabandykite skaityti kai kuriuos pranešimus, apibūdinančius „Git“ darbo eigą, pavyzdžiui, vieną iš Oliver Steele . Tačiau nepamirškite, kad yra daugiau nei vienas būdas naudoti „Git“ - yra daug jų. Jei norite, galite naudoti „Git“, tarsi dirbate su SVN.
Nesitikėkite suprasti „Git“ filosofijos per trumpą laiką. Tai užtruko per metus, kad galėčiau ją įvesti, ir aš vis dar tiriu naujus būdus, kaip jį naudoti. Manau, kad tai dar sunkiau, jei užaugote su SVN mąstymu. Yra nemažai medžiagų: straipsnių, vaizdo įrašų, ... - paimkite savo laiką ir išbandykite kai kuriuos iš jų. Čia yra parinktis iš sąrašo, kurį aš sudariau.

7
28 июля '12 в 20:41 2012-07-28 20:41 atsakymas pateikiamas liepos 28 d., 12 d. 20:41 2012-07-28 20:41

Pagrindinis sustojimo vietos privalumas yra tas, kad galite lengvai užfiksuoti tik dalį tam tikro failo pakeitimų. (Pavyzdžiui, naudojant git add -p .) Kiek aš žinau, vienintelis būdas atlikti dalinį įsipareigojimą SVN yra kiekvieno failo lygmuo arba rankiniu būdu sukurti atsarginę failo kopiją ir laikinai grąžinti pakeitimus, kuriuos norėjote atlikti.

Tai puiku, jei (kaip ir aš) nesate labai organizuotas kūrėjas ir norite, kad po faktų būtų galima surūšiuoti pakeitimus į „tvarkingus“ pataisymus. Tai atitinka bendrą „Git“ požiūrį, suteikiantį jums lankstumą, kad būtų užtikrintas griežtumas. Jei to nereikia, visada galite tiesiog nenaudoti ir naudoti „ git commit -a ...

border=0

Nėra analogų su SVN, nes SVN nėra Git ir neturi tokio dalyko.

6
28 июля '12 в 20:35 2012-07-28 20:35 atsakymas pateikiamas milimooze liepos 28 d., 12 val. 20:35 2012-07-28 20:35

Štai keletas scenarijų, rodančių gamybos naudingumą:

  • Jūs dirbate konkrečioje dalyje ir atlikote daug pakeitimų savo projekte. Jūs nenorite jų daryti prieš bandydami visą dalyką. Tačiau šie pokyčiai dažnai gali būti pakankamai nepriklausomi, kad padarytų keletą loginių klaidų nei viena didelė. Tai yra tada, kai atliekate atrankines dalis ir kelis įsipareigojimus.

  • Nustatymas buvo ypač naudingas derinant. Galite sekti žurnalo ataskaitas, kad būtų galima stebėti klaidos šaltinį. Tada atliksite taisymą ir bandykite dar kartą naudoti šiuos žurnalo pranešimus. Bet tada norėsite pataisyti pataisą prieš bet kokius kodo pakeitimus, kad pašalintumėte šiuos žurnalo pranešimus.

  • Kitas naudingas scenarijus yra tada, kai esate kažką viduryje ir randate kažką nesusijusio, pavyzdžiui, klaidos, kurią norite pataisyti, ir greitai ją pašalinti.

Yra keletas kitų panašių scenarijų, ir jūs tikriausiai negalėsite dirbti su tuo, kas trūksta šios koncepcijos, kai tik jį pakabinsite :).

PS: aš visai nenaudojau SVN, todėl negaliu jų palyginti.

4
28 июля '12 в 20:53 2012-07-28 20:53 atsakymas pateikiamas Sailesh liepos 28 d., 12 val. 20:53 2012-07-28 20:53

Kiti klausimai apie „ žymes „ arba Ask a Question