Pa, ovaj će, mislim, biti prilično kratak vodič i nadam se didaktičan;). Učinit ću vam dostupnim malo spremište na mom github-u, tako da možete slati svoje PR-ove i istovremeno kako biste mogli vježbati kako se rade svi koraci koje ću ostaviti u nastavku. Evo veze za testni PR:
https://github.com/CodeLabora/TuPrimerPR
Pa, nabrojimo brzo korake potrebne za slanje PR-a:
- Viljuška
- Klon
- daljinski
- grana
- Promjene
- dodati
- izvršiti
- Guranje
- PR
Stavljam ih na engleski jezik kako bi pronašli svoje opcije na git naredbenom retku.
Viljuška
Vilica je vaša vlastita verzija Github spremišta. To vam omogućava da klonirate rad drugog projekta i imate ga na svom računu tako da možete mijenjati stvari bez brige da ćete izgubiti promjene. Da biste napravili vilicu, potrebno je samo otići na stranicu i kliknuti na gumb Fork koji se nalazi u gornjem desnom dijelu.
Jednom kada je vilica gotova, vidjet ćete da se spremište pojavljuje na vašem računu.
Klon
Sad kad imamo spremište, klonirat ćemo ga našem timu. (Pretpostavljam da me slijede ljudi koji koriste Linux, ali za korisnike drugih sistema postoje i verzije gita koje možete preuzeti na njihovoj službenoj stranici.
A s našim terminalom radimo sljedeće.
Uz ovo ćemo dobiti novu mapu pod nazivom TuPrimerPR u kojoj će biti naš Github projekt. U fasciklu ulazimo naredbom «cd TuPrimerPR» i vidjet ćemo da se unutra nalaze datoteke koje su u našoj vilici.
(Imajte na umu da broj datoteka može varirati ovisno o tome što pronađu u mom spremištu kada se račvaju)
daljinski
Ovo je neobavezni korak, ali onaj koji izbjegava brojne probleme u kontinuiranom radu na projektu. Fork prema zadanim postavkama stvara tačnu kopiju spremišta, ali u tačnom trenutku stvaranja. To znači da će, ako projekt nastavi napredovati, vaše spremište zaostajati s prolaskom dana ili sati. "Git remote" omogućava nam da odredimo drugu točku preuzimanja (izvorni projekt) i tako budemo u mogućnosti da ažuriramo naš projekt svaki put kad vidimo da se nadređeni projekt ažurira.
Da biste pronašli svoj nadređeni projekt, samo trebate koristiti vezu koja se nalazi odmah ispod naziva vašeg spremišta. (Provjerite drugu sliku odjeljka Fork). U nastavku ćemo dodati ove informacije:
Ovo je originalni projekt (mi ćemo ga nazvati uzvodno kako bi bili u toku sa mnogim projektima).
Kao što vidite, dodao sam daljinski upravljač sa »git remote add »
Ovim ćemo moći ažurirati projekt kada je to potrebno, ali ga sada nećemo koristiti jer to nije potrebno. (Objasnit ću to kasnije ili u drugom postu, ovisno o potrebi)
grana
Grane (ili grane) omogućuju vam stvaranje dijelova koda s kojima možete raditi u izoliranom okruženju. To znači da ono što radite u grani ne mora nužno utjecati na izvorni kod dok se ne koristi »git merge«. Takođe je dodatna funkcionalnost koju vam Github omogućava, svaki put kada kreirate granu, Github automatski generira izvor zahtjeva za povlačenjem kada je to potrebno.
Sad kad smo u našoj posebnoj grani, možemo raditi na svom doprinosu.
Promjene
Dodaću nekoliko datoteka kako biste mogli vidjeti kako se to radi.
"Dodir" nam omogućava stvaranje prazne datoteke (ako ona ne postoji). s ovim možemo prijeći na naš sljedeći korak.
dodati
»Git add» omogućava nam dodavanje datoteka u naš urezivanje (objasnit ću kasnije). Da biste vidjeli koje datoteke možete dodati možete koristiti naredbu »git status»
Ovim imamo sve spremno za naše predavanje
izvršiti
Obaveze su oznake (ili prekretnice) u vremenu. oni definiraju stanje za sve datoteke u projektu i akumuliraju promjene potrebne da bi se došlo od početka projekta do trenutnog stanja. Zvuči pomalo složeno, ali prilično je jednostavno, samo upamtite da su to stepenice vašeg projekta. Napišemo »git commit» i dobit ćemo prozor za pisanje naše poruke predavanja.
A kada završimo i spremimo tekst, vidjet ćemo nešto poput:
Gdje je prikazan sažetak onoga što urezivanje radi.
Guranje
Push-om prenosimo na naš Github račun sve obaveze koje imamo na računaru, a koje nisu u našem spremištu na Internetu. To će omogućiti Githubu da automatski generira novi PR.
Primijetite da koristimo ime naše podružnice i da nas traži korisničko ime i lozinku. Na kraju nam pokazuje da je grana myImprovement stvorena unutar našeg Github računa. Pogledajmo šta smo postigli u pretraživaču. 😉
PR
Kao što vidite, stvorena je nova linija koja kaže "Uporedi i povuci zahtjev". Ova Github funkcionalnost omogućava nam da stvorimo PR na jednostavan način, kliknut ćemo da vidimo što će se dogoditi.
Github je prilično pametan. Kao što vidite, dijelovi urezivanja dodaju se u obrazac za podnošenje. Potrebno je samo pritisnuti dugme i otvoriti 🙂 Jednostavno.
ekstra
Ovo je iza kulisa projekata, pojavljuje se PR i menadžer odlučuje hoće li prihvatiti ili ne ili će napisati još poruka. U mom slučaju ću to odmah prihvatiti.
Jednom kada se spajanje završi, moći će vidjeti dnevnik urezivanja projekta i vidjeti svoje ime u njemu.
Ali sada imamo problem. Taj predaj se ne pojavljuje u naš spremište, samo u projektu. Sjećate li se našeg udaljenog prolaza? Sada je kad se isplati 🙂
Vraćamo se u našu glavnu granu i radimo sljedeće:
Ovim smo našem timu preuzeli sve informacije o originalnom projektu. Kao što vidite, tamo se pojavljuje naša objava. Sad ćemo spremiti sav ovaj rad u naše Github spremište kako bismo mogli izbrisati granu koja ima doprinos koji su oni već dodali u projekt.
Sad kad imamo ažurirano spremište Github, izbrisat ćemo našu granu, ali prvo se pobrinimo da se nalazi unutar naše glavne grane (master)
Kao što vidite, imao sam malu grešku, to je bilo zato što sam bio u svojoj grani myImprovement kada sam htio izbrisati. To se popravlja vraćanjem u glavnu granu.
zaključak
Gotovo 🙂 jednostavno. Sad kad ste savladali mračne tajne Githuba za slanje PR-a, radujem se što ću vidjeti vaše doprinose na raznim projektima. A ako želite, svoj prvi PR možete ostaviti u mom spremištu 😉 za pamćenje.
Nisam dodirnuo hiljadu i jednu korist Gita (Oko, a ne Github) i kao što biste očekivali od programera koji su povezani sa zajednicom jezgra, Git je izuzetno moćan alat sa stotinama funkcija.
Da bih stekao bolju predstavu o tome šta radi i svu snagu Gita, toplo preporučujem ovo knjiga. Siguran sam da će vam puno pomoći da poboljšate rukovanje gitom.
Pozdrav i nadam se da će vam pomoći 😉
Izvrsna lekcija, nadam se da možete nastaviti zalaziti u Git. Hvala ti!
Jasno! Dodati ću još sadržaja čim budem mogao o ovome i mnogo više.
Excelente
Kako vam je dobro poslužilo 😉 Pozdrav
Čim uspijem vježbati, hvala vam puno, ovaj vodič je ono što sam dugo tražio, ali ga nisam uspio pronaći!
Vrlo dobro objašnjeno, iz osnova, hvala. Poboljšao bih kapituas kad budeš imao vremena.