Git + GitHub
Kako je prošla zadaća?
Git repozitorij koji jedino postoji lokalno nije pretjerano koristan
Prednosti postaju očite tek online
Što je GitHub?
- web aplikacija za suradnju pomoću Git repozitorija
- puno open source softvera je na GitHubu
- podržava 🌎 javne i 🔒 privatne repozitorije
Uvod u sučelje
Što je github graf?
Contribution activity
Feed
Cool useri
Follow them
btw poznate programerke
Kako izgleda github repo?
Pogledajmo primjere repozitorija
Neke od značajki GitHuba
Prijavljivanje problema
Otkrili smo problem u softveru, ali ne znamo ga popraviti, što sad? Možda autor nije svijestan_na, hajmo ga barem prijaviti!
Popravljanje problema
Otkrili smo problem i znamo ga popraviti, izvrsno!
Financiranje projekata
Zbog toga što se open source softver nudi besplatno, programeri nemaju uvijek vremena raditi na njemu, popravljati bugove i sl. Pomoću GitHuba firme mogu financirati projekte o kojima puno ovise.
Diskusije
Ponekad želimo razgovarati o nečemu vezanom za projekt, recimo želimo pomoć, predložiti neku promjenu ili sl.
I brooojne druge značajke!
git config user.name
git config user.email
Upiši u terminal
Kako kreirati repozitorij na GitHubu? 👇
1. Instaliraj GitHub CLI
2. U svom repozitoriju (vjezba) pokreni gh repo create i slijedi upute
3. Vjerojatno trebaš upisati svoj GitHub username i password
4. Otvori svoj github repo u browseru
5. git remote add origin
6. git push origin master
Svaki put kad želiš updateati online repozitorij pokreni
git push origin master
Github repo se moze kreirati i u browseru
Javni ili privatni?
Ograničavanje vidljivosti repozitorija na GitHubu
👇
Javne repozitorije mogu vidjeti svi
Taj kod je onda open source, svi ga mogu kopirati na svoj GitHub, a pushati na original mogu samo oni koje odaberete
Privatne repozitorije možete vidjeti samo ti
i oni koje odabereš
Korisno je npr. kada repozitorij sadrži poslovne tajne 🔑
Zadatak 👇
1. Napravi novi lokalni repozitorij
2. Nazovi ga kako hoces
3. Napravi file README.md unutar novog foldera
4. U README.md napiši "Tutorial project"
5. Dodaj i commitaj file README.md
6. Pushaj lokalni repozitorij na GitHub kao privatni repozitorij
Pokušaj sam_a saznati kako se to radi
gh repo create --help
7. Posjeti repozitorij na GitHubu i pretvori ga u javni repozitorij
Pronađi pod "Settings" od repozitorija
Zadatak 👇
Trajni login
Svaki put kada pushaš commitove trebaš upisati svoje GitHub credentialse, to je 👎
Moguće je trajno povezati GitHub s tvojim računalom koristeći SSH ključ
Prvo ga trebaš kreirati
ssh-keygen -t ed25519 -C "your_email@example.com"
Zatim ga dodati u GitHub
Sad pokušaj pushati novi commit, ako te ništa ne pita
to je to!
git pull 👇
git pull origin branch
1. tonkec/novo
2. promijenit cu nesto u README.md direktno na masteru
3. zelim promjene vidjeti lokalno
git clone 👇
git clone https://github.com/...
gh repo clone twbs/bootstrap
Što je pull request/merge request? 👇
1. napravit cu novi branch iz mastera
2. promijenit cu neki file
3. addam i commitam
4. pushnem branch na github
5. napravim PR na master
6. mergam
Zadatak 👇
1. napravi novi branch
2. promijeni nesto u tekstu u README.md
3. dodaj file u staging
4. commitaj file
5. pushni na github
6. napravi PR na master
7. mergaj u master
Problemi (issues) i
pull requestovi👇
Jedni od naječšćih značajki githuba
Probleme je moguće kategorizirati pomoću labela
Npr. bugovi, pitanja, sigurnosni problemi…
Moguće ih je dodijeljivati developerima koji su zaduženi da ih riješe
Može ih se pridružiti raznim ciljevima, npr. "verzija 2"
Pull requestove otvaramo kako bi ih netko pregledao
Obično riješavaju već prijavljeni problem
Moguće ih je pridružiti odgovarajućem problemu
tako da se on automatski zatvori kad se pull request prihvati
Zadatak
Kreiraj problem i riješi ga
pull requestom 👇
Izmisli neki problem,
može biti bilo što
Prijavi ga u svojem repozitoriju i klasificiraj ga kao bug
Riješi problem lokalno u zasebnom branchu, pa pushaj na GitHub
Na GitHubu iz tog brancha kreiraj pull request
Nakon pusha će odmah biti jasno kako
Poveži problem s tim
pull requestom
(Linked issues/pull requests)
Mergaj pull request 🎉
Zadatak 👇
1. kloniraj tonkec/novo
2. napravi novi branch 'update'
3. promijeni nešto u README.md
4. add i commit
5. pushni na github
6. napravi novi PR na master
forkanje 👇
A fork is a copy of a repository that you manage
Kopija se vidi direktno na vašem profilu
Za razliku od git clone, fork ne sinkornizira, ne updejta se
Osim githuba 👇
Osim gita postoji i svn
Što je md u README.md? 👇
Što je gist? 👇
Code snippets
Odlično za sheranje kraćeg koda
Zadaća 👇
Pročitaj članke
Prodi tutorial
Pogledaj video
Pogledaj video
Ako želiš znati više
Git + GitHub
By Matija Marohnić
Git + GitHub
- 575