Github i git - kako funkcionišu?

Truman

Elita
Poruka
22.709
Registrovao sam se na github, kliknuo create repository u skladu sa uputstvom sa tog sajt i dobio odgovor otprilike "ooops something went wrong".
Posle sam video da mi je na profilu kreiran taj repository, ali ne kapiram kako da kreiram fajl s kodom. Zapravo, ništa ne kapiram.
Vidim da ima poseban sajt za git i instalirao sam softver sa sajta birajući da radim u command promptu koji i inače koristim, ali ne vidim da li postoji veza između git i github-a.
Zamolio bih dakle da mi neko ko ih koristi u osnovnim crtama opiše koncept pošto mi ništa nije jasno. :dash:
 
U kratkim crtama:

Git predstavlja softver za verzionisanje (mozes da ga koristis kao cmd alat, ili kao GUI alat). Izmedju ostalog omogucava ti da kreiras lokalne repozitorijume, kloniras postojece sa nekog servera, commitujes (cuvanje promena u lokalnom repozitorijumu), itd...

Github predstavlja hosting servis za tvoje repozitorijume. Dakle, mozes da napravis lokalni repozitorijum, i da ga kasnije posaljes na server, gde ce se hostovati.
Znaci, prakticno, nudi prostor na njihovim serverima gde mozes (javno ili privatno) da cuvas svoje repozitorijume.

Pogledaj neke od materijala u nastavku:

github learning lab - ucenje na zanimljiv nacin
dodatni resursi - istrazi ovu Web lokaciju
git - the simple guide - ovo ti dodje kao neki cheatsheet
pro git - detaljna knjiga gde ces nauciti kako sve funkcionise (ima i verzija na srpskom, potrazi na sajtu, ne znam da li je sve prevedeno)
 
Poslednja izmena:
Hvala. Ono što me zanima je da li mi je git neophodan. Dakle, mogu li naprosto da ubacim program koji sam napisao u github repozitorijum bez učenja gita?

Pa u principu, zavisi sta podrazumevas pod tim neophodan. U smislu, da li uopste moras da koristis alat za verzionisanje? Naravno da ne.
A u smislu da li moras da se udubljujes u ucenje ako ces ga koristiti bez naprednijih stvari, u osnovne svrhe? Dovoljno ti je svega 10-30min, koliko zelis da izdvojis za ucenje osnovnih stvari.

Pogledaj ovo npr: link

Takodje, ako ipak zelis detaljnije, pogledaj prvu poruku, editovao sam je malopre, ubacio sam neke linkove, pa ne znam da li si video izmene.

EDIT: U jos kracim crtama: git in 5 minutes :D
 
Poslednja izmena:
Ok, hvala. Moram definitivno da pogledam neki video da bih stekao predstavu o čemu je reč. Jer ja sam zamišljao sledeće. Napisao sam neki programčić s pythonom i samo treba da ga ubacim u github kao fajl i ceo svet će moći da mi se divi :D...al vidim da to nema veze s mozgom.
 
Ok, hvala. Moram definitivno da pogledam neki video da bih stekao predstavu o čemu je reč. Jer ja sam zamišljao sledeće. Napisao sam neki programčić s pythonom i samo treba da ga ubacim u github kao fajl i ceo svet će moći da mi se divi :D...al vidim da to nema veze s mozgom.

Glavna svrha githuba je hostovanje repozitorijuma. Jedan od nacina da sa nekim podelis kod je svakako koristeci git i github. Ako ga koristis u te svrhe, prakticno neces iskoristiti punu moc git-a, tj. za ono za sta je namenjen (za verzionisanje), posto ces verovatno imati tu jednu verziju tog programa, pa ces ga iskoristiti iskljucivo za backup koda. Ali to nije ni bitno :D

Laksi (i brzi) nacin je da kod okacis na pastebin, i prosledis link kome zelis (prakticno je ako ti je program u samo jednom fajlu)
 
Да, али безбедније је хостовати програм у смислу ако ми комп доживи хаварију...Мислим да пејстбин чува код неко ограничено време.

Nisam siguran za pastebin, ali svakako - github mozes iskoristiti za backup svojih programa :)

Evo postupak ukratko:

* Kreiraj novi repozitorijum na githubu (ovaj korak si vec obavio)
* Napravi direktorijum na racunaru, i unutar njega pokreni git init
* Ubaci program u direktorijum
* Pokreni git add lista_fajlova_koje_dodajes
* Pokreni git commit -m "first commit (poruka u navodnicima moze da bude bilo koja)"
* Pokreni git remote add origin link_repozitorijuma
* Pokreni git push -u origin master

Svaki sledeci put kad nesto budes hteo da dodajes u taj repozitorijum:
* Izmenis postojeci fajl, ili dodas novi
* Pokrenes git add za taj fajl/fajlove
* Pokrenes git commit -m "neka poruka"
* Pokrenes git push (bez onog dela -u origin master)
 
Poslednja izmena:
I meni je sam način na koji Github funkcioniše poprilično konfuzan.

Ali mi je jasno da je on prevashodno namenjen projektima na kojima radi više ljudi, tako da je moguće objavljivati izmene sukcesivno, sa kompletnom istorijom ko je šta objavio. To pomaže da kasnije u slučaju bilo kakvih problema sa aplikacijom lako mogu da se opozovu neke od objavljenih izmena. Uvek je moguće vratiti se na stariji, stabilni checkpoint na kojem je sve funkcionisalo kako valja.
 
Koliko sam ja ukapirao je da je git za zajedničke projekte ljudi koji već rade u istoj kompaniji... a github je mesto gde pojednačno učestvuješ sa svojim projektom koji želiš da se razradi od strane više ljudi ili da od već postojećih skineš neke fazone i naučiš.
 
I meni je sam način na koji Github funkcioniše poprilično konfuzan.

Ali mi je jasno da je on prevashodno namenjen projektima na kojima radi više ljudi, tako da je moguće objavljivati izmene sukcesivno, sa kompletnom istorijom ko je šta objavio. To pomaže da kasnije u slučaju bilo kakvih problema sa aplikacijom lako mogu da se opozovu neke od objavljenih izmena. Uvek je moguće vratiti se na stariji, stabilni checkpoint na kojem je sve funkcionisalo kako valja.

Pa to je poenta, sve si rekao. :)

Ne razumem sta ti je tacno konfuzno onda, kako git radi ispod haube ili?

- - - - - - - - - -

Koliko sam ja ukapirao je da je git za zajedničke projekte ljudi koji već rade u istoj kompaniji... a github je mesto gde pojednačno učestvuješ sa svojim projektom koji želiš da se razradi od strane više ljudi ili da od već postojećih skineš neke fazone i naučiš.

Moze tako da se gleda na to, ali u principu, git i github koristim i za svoje licne projekte.
Na taj nacin imas kontrolu verzija, backup, javno dostupan kod na koji kasnije mozes da referises u CV-u prilikom konkurisanja za posao, i naravno posto je javno dostupan (ako je podeseno da je javno dostupan) neko moze nesto da nauci, ili cak i da doprinese projektu :)
 
Da, konfuzne su mi komande koje se izdaju, redosled koraka koji su neophodni da se sve izvrši. Mada i nije realno očekivati da ti sve bude jasno samo iz čitanja dokumentacije, mora se proći u okviru jednog projekta kroz sve faze da bi ti bilo jasnije.
 
Da, konfuzne su mi komande koje se izdaju, redosled koraka koji su neophodni da se sve izvrši. Mada i nije realno očekivati da ti sve bude jasno samo iz čitanja dokumentacije, mora se proći u okviru jednog projekta kroz sve faze da bi ti bilo jasnije.

Ureze ti se to u pamcenje nakon par projekata, kasnije ti dokumentacija zatreba samo ako hoces da uradis nesto sto i nije toliko cesto.

Ona knjiga gore koju sam predlozio (Pro Git) je odlicna, ko ima vremena da izdvoji za njeno proucavanje. Cak je i besplatna, a dobar deo (ako ne i sve) je preveden i na srpski ko ima problema sa engleskim, ili mu je draze da cita na srpskom.
 
Poslednja izmena:
Koliko sam ja ukapirao je da je git za zajedničke projekte ljudi koji već rade u istoj kompaniji... a github je mesto gde pojednačno učestvuješ sa svojim projektom koji želiš da se razradi od strane više ljudi ili da od već postojećih skineš neke fazone i naučiš.

Е ово ме је занимало. Значи мени треба само github. Е сад је наредно питање како да убацим свој пројекат у github.
 
Е ово ме је занимало. Значи мени треба само github. Е сад је наредно питање како да убацим свој пројекат у github.

Ako bas hoces da ga koristis bez git alata, imas opciju upload file u sklopu repozitorijuma

Ali ako planiras da se bavis malo ozbiljnije, ucenje gita ce ti biti neizbezno :)
 
Poslednja izmena:
Проблем је само што не видим ту опцију.

Ево шта видим:
20ixm44.png
 
Не значи да једног дана нећу...зато бих ипак хтео да користим гитхаб. Такође, покушао сам да нађем опцију да обришем овај репозитори који сам отворио, али без успеха. Знате ли како се брише?
 
Odaberi karticu settings (krajnja desna kartica), na dnu stranice ces videti sekciju "Danger Zone", tamo se nalazi opcija "Delete this repository"

- - - - - - - - - -

github je frontend za git. Ako neces da se bakces sa gitom onda prosto stavi fajlove na google drive ;p

Ne znam da li bi bas tako moglo da se definise, pre bih rekao da je github samo hosting za repo. Frontendom git alata bi mozda mogla da se nazove neka GUI aplikacija za git (koja nudi podrsku za rad sa git alatom na user friendly nacin).
 
Poslednja izmena:
Занимвљив помак. Успео сам да обришем стари репозитори и да креирам нов. У новом има опција за додавање фајлова и то сам учинио.
Такође сам инсталирао понуђену апликацију GitHub Desktop. Користи ли је неко? Сад видим да није неопходна.
 
Занимвљив помак. Успео сам да обришем стари репозитори и да креирам нов. У новом има опција за додавање фајлова и то сам учинио.
Такође сам инсталирао понуђену апликацију GitHub Desktop. Користи ли је неко? Сад видим да није неопходна.

Nisam koristio nikad, ali moguce je da je neki GUI za git, ima dosta takvih alata :)
 
Odaberi karticu settings (krajnja desna kartica), na dnu stranice ces videti sekciju "Danger Zone", tamo se nalazi opcija "Delete this repository"

- - - - - - - - - -



Ne znam da li bi bas tako moglo da se definise, pre bih rekao da je github samo hosting za repo. Frontendom git alata bi mozda mogla da se nazove neka GUI aplikacija za git (koja nudi podrsku za rad sa git alatom na user friendly nacin).

Nije frontend za klijent nego za server. U skorasnjem intervjuu za posao jedan Amer me pitao da li sam radio sa git frontendovima kao sto su github itd...
 

Back
Top