Kaip ištraukti „Git“ saugyklą „Linux“.

Git apibrėžia versijos valdymo procesus, kaip turėtų būti bendrinami projektai. Yra daug svetainių, kurios leidžia priglobti savo Git projektus. „GitHub“ yra populiariausias pasirinkimas, „Bitbucket“ yra dar viena populiari alternatyva, abi leidžia nemokamoms paskyroms kurti neribotas viešąsias ar privačias saugyklas. „GitLab“ siūlo savarankiškai priglobtą alternatyvą, leidžiančią privačiai plėtoti nepasitikint trečiosios šalies priegloba.

Pirmasis „Git“ saugyklos atsisiuntimo procesas vadinamas klonavimu. Klonavimas apima visą informaciją apie tuo metu esančią saugyklą, tačiau norint, kad saugykla laikui bėgant būtų atnaujinta, turite išjungti naujas versijas. Norėdami tai padaryti, tiesiog atidarykite terminalo langą kataloge su vietine saugyklos versija ir įveskite komandą „git pull“.

Šios komandos veikimas yra ypač paprastas, jei tiesiog norite atsisiųsti atnaujintą saugyklos versiją; vietinė versija bus atnaujinta, kad atitiktų nuotolinę versiją. Tačiau galite pastebėti, kad gali kilti problemų, jei atlikote vietinės versijos pakeitimus.

Komanda „git pull“ iš tikrųjų vykdo dvi atskiras komandas „git fetch“ ir „git merge FETCH HEAD“. Antrinė komanda „git fetch“ specialiai ištraukia naujausią versiją iš internetinės saugyklos ir laikinai ją išsaugo. Tada antrinė komanda „git merge FETCH HEAD“ sujungia vietinius pakeitimus su atsisiųsta versija, pirmenybę teikiant naujesniems įsipareigojimams.

Patarimas: „git commit“ yra pakeitimo pateikimas, galimi keli vietiniai ir nuotoliniai įsipareigojimai, kurie atlieka tuos pačius arba skirtingus veiksmus. Vietiniai įsipareigojimai nėra matomi nuotolinei versijai, kol pakeitimai nebus perkelti. Kiekviename įsipareigojime tiksliai nurodoma, kokie pakeitimai buvo atlikti, ir įtraukiama laiko žyma.

Konfliktai tarp vietinių ir nuotolinių versijų

Idealiu atveju sujungimo scenarijuje nebus jokių konfliktų ir sujungimo procesas bus baigtas automatiškai. Sujungimas gali būti ypač paprastas, jei buvo atlikta nedaug pakeitimų arba jei vietiniai pakeitimai netrukdo atlikti jokių nuotolinių pakeitimų. Tačiau jei yra prieštaringų sudėtingų tos pačios kodo dalies pakeitimų, „Git“ parodys sujungimo klaidą.

Šiuo metu galite nutraukti sujungimą naudodami komandą „git merge – abort“ arba pabandyti rankiniu būdu išspręsti konfliktus. Komandos „git mergetool“ ir „git diff“ pateikia grafinį skirtumų, kurie turėtų padėti, pavyzdį. kad būtų kuo lengviau matyti, kokius pakeitimus reikia pritaikyti rankiniu būdu, kad būtų galima sujungti užbaigti. Išsprendę visus konfliktus, įveskite komandą „git merge –continue“, kad užbaigtumėte sujungimą.

Komanda „git mergetool“ atvers tokį grafinį įrankį, kuris padės rankiniu būdu išspręsti konfliktus.