PHPPamokos.lt


7. Komandinis darbas su GitHub repozitorija - pull/push

Visas darbas su Git yra prasmingiausias, jei su repozitorija dirba daugiau negu vienas žmogus. Tai šioje trumpoje pamokoje pabandykime susimuliuoti procesą - aš savo kompiuteryje sukursiu kitą katalogą, imituodamas kad su mūsų repozitorija nori dirbti kitas žmogus. Ir į tą katalogą klonuojame mūsų repozitoriją su mums jau pažįstama git clone komanda:

Taigi, turime mūsų pačių sukurtos repozitorijos "kloną" tarsi su juo dirba kitas žmogus - kataloge c:\Users\Povilas\phppamokos:

Ir dabar galima pabandyti atlikti kažkokius pakeitimus ir juos įkelti atgal į GitHub. Sakykime, vėl pakeičiame config.php faile duomenų bazės pavadinimą ir jau mūsų naujame kataloge pažiūrime git status.
Ir tada įkeliame pakeitimus su git commit ir tada git push:

Na kaip, ar pavyko? Ar supratote? Tuo pačiu gavosi šiokia tokia treniruotė pasikartojimui. Štai kaip dabar atrodo mūsų GitHub puslapis:

Pastaba. Šiame pavyzdyje aš abu katalogus valdau su tuo pačiu GitHub vartotoju PHPPamokos - realiame gyvenime komandinio darbo atveju vartotojai būtų skirtingi - kiekvienas jungtųsi su savo GitHub vartotoju/slaptažodžiu



Parsisiunčiame naujausius pakeitimus - git pull

Taigi, turime situaciją: antrasis komandos narys įkėlė kažkokius pakeitimus, kaip dabar pirmajam juos parsisiųsti, kad turėtų naujausią kodo versiją? Tam skirta komanda git pull:

Komanda git pull daro paprastą veiksmą - tiesiog parsiunčia paskutinius pakeitimus, palyginus su mūsų dabartine lokalia versija. Ir, kaip matote, parodo sąrašą failų, kurie buvo pakeisti nutolusioje repozitorijoje. Patogu ir informatyvu, ar ne?

Svarbu suprasti: parsisiuntimo metu Git perrašo jūsų lokaliai turimus failus ir atnaujina juos iš GitHub repozitorijos, tad nenustebkite jeigu failas, tuo metu atidarytas kokiame redaktoriuje, automatiškai atsinaujins.

Turbūt jums kyla klausimas - o kas jeigu aš tuo metu irgi paredagavau tą patį failą? Kuri versija galiausiai liks - ar mano lokali, ar parsiųsta iš serverio? Štai čia ir yra reiškinys, versijų kontrolėje vadinamas konfliktu - apie tai, kaip juos spręsti, kalbėsime jau kitoje pamokoje.


(c) 2015-2018. Visais klausimais kreipkitės povilas@laraveldaily.com