[QGHG-it-dev-list] Uputstva za git i prvi zadatak za sve

Marko Vojinovic vmarko at ipb.ac.rs
Fri Feb 11 04:47:43 CET 2022


Nenad je skroz u pravu --- i mene je to brinulo dok sam sastavljao uputstvo. Naime, moze da se dogodi da dvoje ljudi u isto vreme rade nesto sa istim fajlom (koji su dobili u koraku (6)), pa ko prvi uradi push u koraku (11) napravi problem ovom drugom, jer promeni fajl na potencijalno nekompatibilan nacin, i onda drugi covek vise ne moze da uradi svoj push, nego mora ponovo da uradi (6) i zatim ponovo edituje novu verziju fajla. Tipican race condition. :-)

Ponavljanje koraka (6) i proveravanje da li su svi relevantni fajlovi jos uvek isti je odlican nacin da se zaobidje problem, bar dok je kod relativno mali. Postoji i sistematsko resenje (branch-evi), ali to cemo kasnije da ucimo, kad se malo naviknemo na git i ako kod dostigne velicinu da nije moguce zaobici problem Nenadovom metodom. ;-)

:-)
Marko


Dr. Marko Vojinovic
Group for Gravitation, Particles and Fields
Institute of Physics
University of Belgrade
======================
home page: www.markovojinovic.com
e-mail:    vmarko at ipb.ac.rs



On Fri, 11 Feb 2022, Nenad Korolija wrote:

> Zdravo svima,
> 
> Ovo je detaljno objašnjeno, a sažeto na minimum. 
> Za početak bi valjalo da svi ovako uradite iz git komandne linije na bilo kom operativnom sistemu. 
> 
> Kasnije, da ne bi prebrzo ulazili u koštac sa rešavanjem konflikata i git grananjem, trudite se da (7) minimalno traje. Drugim rečima, možete nakon (6) da kopirate fajlove u drugi
> direktorijum, tu uradite (7), vratite se u stari/glavni direktorijum koji git jedino vidi, ponovite (6), integrišete u tako dobijeni novi kod to što ste pravili, i nastavite sa
> (8)-(11).
> 
> Pozdrav,
> Nenad
> 
> On Thu, Feb 10, 2022 at 23:38 Marko Vojinovic <vmarko at ipb.ac.rs> wrote:
>
>       Pozdrav svima,
>
>       Evo najjednostavnijeg sazvakanog uputstva kako da koristite git. Naravno, git je mnogo mocniji od ovoga i ima niz korisnih mogucnosti (npr. branch-evi), ali to mozete
>       kasnije da ucite po potrebi, a osnovna, bare-bones upotreba za prvi kontakt sa git-om i GitHub-om ide otprilike ovako:
>
>       (1) Instalirajte git na vas racunar. Uputstva za ovo zavise od toga da li koristite Windows, Linux, Mac, ili nesto cetvrto, pa je najbolje da odete na Google i potrazite
>       uputstva za instalaciju git-a za vas operativni sistem. U nastavku slede uputstva u sintaksi koja rade pod Linux-om, a za ostale sisteme je verovatno isto (ili makar
>       slicno).
>
>       (2) Ulogujte se na GitHub i kreirajte jedan token, po sledecem uputstvu:
>
>          https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token
>
>       Kreirani token copy-paste-ujte i snimite u neki fajl, jer cete ga rutinski copy-paste-ovati nize u koraku (11). Datum isticanja token-a stavite kako hocete, u zavisnosti od
>       toga kad planirate da ga menjate. Postoji i opcija "unlimited" trajanja, ako vam odgovara.
>
>       (3) Napravite direktorijum na racunaru gde hocete da radite na kodu i udjete u njega. Zatim konfigurisete git da saradjuje sa github-om (zamenite vase podatke za logovanje
>       na github):
>
>          git config --global user.name "Marko Vojinovic"
>          git config --global user.email vmarko at ipb.ac.rs
>
>       (4) Klonirate kod sa github-a u lokalni direktorijum:
>
>          git clone https://github.com/vvmarko/triangulator
>
>       (5) Kloniranje vam napravi pod-direktorijum koji je download-ovan, pa udjete u njega:
>
>          cd triangulator
>
>       (6) Svaki put kad nesto pocinjete da radite, prvo povucete najsveziju verziju koda sa github-a:
>
>          git pull
>
>       (7) Radite zadatke --- editujete postojece fajlove, kreirate nove, itd.
>
>       (8) Kad ste zavrsili zadatak, proverite status sta je sve izmenjeno:
>
>          git status
>
>       (9) Ako ste zadovoljni sa novim kodom, navedete koje sve fajlove ste menjali, da ih upload-ujete na github:
>
>          git add main.cpp moj-novi-fajl.cpp zadatak-4.cpp
>
>       (10) Pripremite sve u jedan "paket" za slanje, sa kratkim opisom:
>
>          git commit -m "Resenje cetvrtog zadatka i neke sitne popravke mog novog fajla"
>
>       (11) Upload-ujete paket na github:
>
>          git push
>
>       Kada vas pita za username i password, dajte mu vas username sa GitHub-a, a umesto password-a copy-paste-ujte onaj token iz koraka (2).
> 
>
>       To je to. Za svaki naredni zadatak, ponavljate korake (5)-(11). Korake (1)-(4) je dovoljno da uradite samo jednom.
>
>       Kao prvi zadatak, testirajte ovo uputstvo tako sto cete u koraku (7) dodati svoje ime i prezime na spisak u fajl "Development-team.txt", i upload-ovati ga na GitHub.
>       Konkretno, korak (9) treba da glasi:
>
>          git add Development-team.txt
>
>       Ako imate bilo kakvih problema sa ovim postupkom, javite.
>
>       :-)
>       Marko
> 
>
>       Dr. Marko Vojinovic
>       Group for Gravitation, Particles and Fields
>       Institute of Physics
>       University of Belgrade
>       ======================
>       home page: www.markovojinovic.com
>       e-mail:    vmarko at ipb.ac.rs
> 
>
>       --
>       QGHG-it-dev-list mailing list
>       QGHG-it-dev-list at ipb.ac.rs
>       http://mail.ipb.ac.rs/mailman/listinfo/qghg-it-dev-list
> 
> 
>


More information about the QGHG-it-dev-list mailing list