diff --git a/Gemfile b/Gemfile index b687671..681832a 100644 --- a/Gemfile +++ b/Gemfile @@ -1,3 +1,4 @@ source 'https://rubygems.org' gem 'RedCloth', :platforms => :mswin gem 'github-pages' +gem 'webrick' diff --git a/README.md b/README.md index fc10ee4..1d698bb 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,18 @@ # snippets A set of example-based tutorials for various classes + +## Run locally + +To test the webpage locally, you can serve the page using docker. On Windows, you can preferably use Docker Desktop. + +1. Open a terminal in the root of the repository. + +1. Run the following command in case of Windows (PowerShell), Linux or MacOS: + +```bash +docker run --rm -v ${PWD}:/srv/jekyll -p 4000:4000 jekyll/jekyll jekyll serve --force_polling --livereload +``` + +1. Open the [http://localhost:4000/snippets/](http://localhost:4000/snippets/) link in a browser. + +1. After every modification, you can see the result in the browser. \ No newline at end of file diff --git a/snippets/0102_Info2Git/images/git-ext-clone.png b/snippets/0102_Info2Git/images/git-ext-clone.png new file mode 100644 index 0000000..35f2550 Binary files /dev/null and b/snippets/0102_Info2Git/images/git-ext-clone.png differ diff --git a/snippets/0102_Info2Git/images/git-ext-commit.png b/snippets/0102_Info2Git/images/git-ext-commit.png new file mode 100644 index 0000000..65704c0 Binary files /dev/null and b/snippets/0102_Info2Git/images/git-ext-commit.png differ diff --git a/snippets/0102_Info2Git/images/git-ext-config.png b/snippets/0102_Info2Git/images/git-ext-config.png new file mode 100644 index 0000000..9f0e23b Binary files /dev/null and b/snippets/0102_Info2Git/images/git-ext-config.png differ diff --git a/snippets/0102_Info2Git/images/git-ext-init.png b/snippets/0102_Info2Git/images/git-ext-init.png new file mode 100644 index 0000000..450a2a9 Binary files /dev/null and b/snippets/0102_Info2Git/images/git-ext-init.png differ diff --git a/snippets/0102_Info2Git/images/git-ext-new-branch.png b/snippets/0102_Info2Git/images/git-ext-new-branch.png new file mode 100644 index 0000000..a12f5ea Binary files /dev/null and b/snippets/0102_Info2Git/images/git-ext-new-branch.png differ diff --git a/snippets/0102_Info2Git/images/git-ext-postpush.png b/snippets/0102_Info2Git/images/git-ext-postpush.png new file mode 100644 index 0000000..276b5a1 Binary files /dev/null and b/snippets/0102_Info2Git/images/git-ext-postpush.png differ diff --git a/snippets/0102_Info2Git/images/git-ext-precommit.png b/snippets/0102_Info2Git/images/git-ext-precommit.png new file mode 100644 index 0000000..84d91c7 Binary files /dev/null and b/snippets/0102_Info2Git/images/git-ext-precommit.png differ diff --git a/snippets/0102_Info2Git/images/git-ext-push.png b/snippets/0102_Info2Git/images/git-ext-push.png new file mode 100644 index 0000000..d72d702 Binary files /dev/null and b/snippets/0102_Info2Git/images/git-ext-push.png differ diff --git a/snippets/0102_Info2Git/images/git-ext-status.png b/snippets/0102_Info2Git/images/git-ext-status.png new file mode 100644 index 0000000..7eea51b Binary files /dev/null and b/snippets/0102_Info2Git/images/git-ext-status.png differ diff --git a/snippets/0102_Info2Git/images/github-access-token.png b/snippets/0102_Info2Git/images/github-access-token.png new file mode 100644 index 0000000..72599f8 Binary files /dev/null and b/snippets/0102_Info2Git/images/github-access-token.png differ diff --git a/snippets/0102_Info2Git/images/github-authorize-classroom.png b/snippets/0102_Info2Git/images/github-authorize-classroom.png new file mode 100644 index 0000000..51cc5e1 Binary files /dev/null and b/snippets/0102_Info2Git/images/github-authorize-classroom.png differ diff --git a/snippets/0102_Info2Git/images/github-classroom-accept.png b/snippets/0102_Info2Git/images/github-classroom-accept.png new file mode 100644 index 0000000..36b5156 Binary files /dev/null and b/snippets/0102_Info2Git/images/github-classroom-accept.png differ diff --git a/snippets/0102_Info2Git/images/github-classroom-ready.png b/snippets/0102_Info2Git/images/github-classroom-ready.png new file mode 100644 index 0000000..d721268 Binary files /dev/null and b/snippets/0102_Info2Git/images/github-classroom-ready.png differ diff --git a/snippets/0102_Info2Git/images/github-classroom-repository.png b/snippets/0102_Info2Git/images/github-classroom-repository.png new file mode 100644 index 0000000..b09b876 Binary files /dev/null and b/snippets/0102_Info2Git/images/github-classroom-repository.png differ diff --git a/snippets/0102_Info2Git/images/github-code-copy.png b/snippets/0102_Info2Git/images/github-code-copy.png new file mode 100644 index 0000000..85ac432 Binary files /dev/null and b/snippets/0102_Info2Git/images/github-code-copy.png differ diff --git a/snippets/0102_Info2Git/images/github-create-pr.png b/snippets/0102_Info2Git/images/github-create-pr.png new file mode 100644 index 0000000..30ecb15 Binary files /dev/null and b/snippets/0102_Info2Git/images/github-create-pr.png differ diff --git a/snippets/0102_Info2Git/images/github-evaluation-comment.png b/snippets/0102_Info2Git/images/github-evaluation-comment.png new file mode 100644 index 0000000..314041c Binary files /dev/null and b/snippets/0102_Info2Git/images/github-evaluation-comment.png differ diff --git a/snippets/0102_Info2Git/images/github-pr-branches.png b/snippets/0102_Info2Git/images/github-pr-branches.png new file mode 100644 index 0000000..4aa6f1b Binary files /dev/null and b/snippets/0102_Info2Git/images/github-pr-branches.png differ diff --git a/snippets/0102_Info2Git/images/github-pr-changes-requested.png b/snippets/0102_Info2Git/images/github-pr-changes-requested.png new file mode 100644 index 0000000..4a346eb Binary files /dev/null and b/snippets/0102_Info2Git/images/github-pr-changes-requested.png differ diff --git a/snippets/0102_Info2Git/images/github-pr-checks.png b/snippets/0102_Info2Git/images/github-pr-checks.png new file mode 100644 index 0000000..7d60add Binary files /dev/null and b/snippets/0102_Info2Git/images/github-pr-checks.png differ diff --git a/snippets/0102_Info2Git/images/github-pr-comment.png b/snippets/0102_Info2Git/images/github-pr-comment.png new file mode 100644 index 0000000..1756971 Binary files /dev/null and b/snippets/0102_Info2Git/images/github-pr-comment.png differ diff --git a/snippets/0102_Info2Git/images/github-pr-description.png b/snippets/0102_Info2Git/images/github-pr-description.png new file mode 100644 index 0000000..a39c932 Binary files /dev/null and b/snippets/0102_Info2Git/images/github-pr-description.png differ diff --git a/snippets/0102_Info2Git/images/github-pr-draft.png b/snippets/0102_Info2Git/images/github-pr-draft.png new file mode 100644 index 0000000..fc7fcd9 Binary files /dev/null and b/snippets/0102_Info2Git/images/github-pr-draft.png differ diff --git a/snippets/0102_Info2Git/images/github-pr-open.png b/snippets/0102_Info2Git/images/github-pr-open.png new file mode 100644 index 0000000..5395afe Binary files /dev/null and b/snippets/0102_Info2Git/images/github-pr-open.png differ diff --git a/snippets/0102_Info2Git/images/github-pr-ready.png b/snippets/0102_Info2Git/images/github-pr-ready.png new file mode 100644 index 0000000..7934249 Binary files /dev/null and b/snippets/0102_Info2Git/images/github-pr-ready.png differ diff --git a/snippets/0102_Info2Git/images/github-pr-rerequest.png b/snippets/0102_Info2Git/images/github-pr-rerequest.png new file mode 100644 index 0000000..81ddb9c Binary files /dev/null and b/snippets/0102_Info2Git/images/github-pr-rerequest.png differ diff --git a/snippets/0102_Info2Git/images/github-pr-reviewer.png b/snippets/0102_Info2Git/images/github-pr-reviewer.png new file mode 100644 index 0000000..9c1d587 Binary files /dev/null and b/snippets/0102_Info2Git/images/github-pr-reviewer.png differ diff --git a/snippets/0102_Info2Git/index.md b/snippets/0102_Info2Git/index.md new file mode 100644 index 0000000..7f63713 --- /dev/null +++ b/snippets/0102_Info2Git/index.md @@ -0,0 +1,322 @@ +--- +layout: default +codename: Info2Git +title: Info2 feladatok beadása +tags: git info2 +authors: Knyihár Gábor +--- + +> Az utóbbi félévekben több változás is történt laborok beadásának tekintetében, így a korábbi leírások már nem minden esetben érvényesek. + +# Info2 feladatok beadása (2024) + +Minden feladat beadásához (labor, házi feladat, zh) a **GitHub** platformot használjuk. Minden labor beadása egy-egy GitHub repository-ban történik, melyet a Moodle-ben található linken keresztül fogtok megkapni. A feladatok megoldását ezen repository-ban kell majd elkészíteni, és ide kell feltölteni. A kész megoldás beadása a repository-ba való feltöltés után egy un. **pull request** formájában történik, amelyet mindig a saját laborvezetőtökhöz kell rendelnetek. Ez a snippet, ennek a folyamatnak a részletes leírását tartalmazza. + +> **Fontos**: +> Az itt leírt formai előírások betartása elvárás. A nem ilyen formában beadott megoldásokat nem értékeljük. + +## Előkészületek + +Első lépésként, ha még nincs ilyenetek, [regisztráljatok](https://github.com/join) magatoknak egy GitHub felhasználót. + +A hatékony munkavégzés érdekében ismerkedjünk meg a git alapvető működésével és az alapfogalmakkal, melyhez számos leírás található a [git](/snippets/index.html#git) címke alatt. + +## Repository létrehozása + +Minden héten az aktuális feladathoz egy meghívó url-t fogtok kapni a Moodle-ben. A meghívás elfogadásával létre fog jönni a saját repository-tok amiben a megoldásokat kell elkészíteni. Az url minden laborhoz más lesz. + +1. Keressük meg a Moodle kurzus oldalán a laborhoz tartozó **meghívó url-t**, és nyissuk meg. + +1. Ha kéri, adjunk engedélyt a **GitHub Classroom** alkalmazásnak, hogy használja az account adataidat. + +![](images/github-authorize-classroom.png) + +1. Látni fogunk egy oldalt, ahol elfogadhatjuk a feladatot (`Accept the assignment`). Kattintsunk a gombra. + +![](images/github-classroom-accept.png) + +1. Várjuk meg, amíg elkészül a repository. A repository linkjét itt fogjuk megkapni. + +![](images/github-classroom-ready.png) + +1. Nyissuk meg a repository-t a webes felületen a linkre kattintva. + +![](images/github-classroom-repository.png) + +> A repository privát, vagyis csak te és az oktatók látják a tartalmát. + +## Repository letöltése + +Annak érdekében, hogy a repository-n dolgozni tudjuk, szükségünk van egy lokális verzióra, amit klónozással fogunk létrehozni. A git alapvetően egy parancssoros alkalmazás, vagyis minden műveletet a parancssorba gépelt utasításokkal tudunk végrehajtani. Viszont annak érdekében, hogy ne kelljen különböző utasításokat ismerni, számos vizuális git kliens program készült már. Ha már van kedvencünk, akkor nyugodtan használjuk azt, mivel bármelyikkel el tudjuk végezni a feladatot. Ha még nem ismerünk ilyet, akkor kövessük az alábbi útmutatót, ahol a Git Extensions programot mutatjuk be. Minden egyes lépéshez kiírjuk a parancssoros megfelelőjét is az utasításnak. + +> Ha saját gépen dolgozunk, szükségünk lesz a [Git](https://git-scm.com/download/win) valamint a [Git Extensions](https://gitextensions.github.io/) szoftverre. + +1. Másoljuk ki a repository linkjét. + + ![](images/github-code-copy.png) + +1. Nyissuk meg a Git Extensions programot. + +1. Első használatkor, vagy a labor kezdetén állítsuk be a nevünket és az email címünket: + - Válasszuk a `Tools` > `Settings` menüt. + - Navigáljunk el a `Git` > `Config` almenübe a bal oldalon található fában. + - Adjuk meg a nevünket és az email címünket, amivel regisztráltunk a GitHub-ra. + + ![](images/git-ext-config.png) + + **Parancssorban** + + ```bash + git config user.name "nev" + git config user.email "nev@email.hu" + ``` + + Ha saját gépen dolgozunk, használhatjuk a global kapcsolót is, ekkor nem kell minden alkalommal megcsinálni. + + ```bash + git config --global user.name "nev" + git config --global user.email "nev@email.hu" + ``` + +1. Klónozzuk le a repositoryt. + - Válasszuk a ˙Clone repository` opciót. + - A `Repository to clone`-hoz adjuk meg a linket amit kimásoltunk. + - A `Destionation`-nek adjuk meg, hol szeretnénk létrehozni a lokális másolatot. + - Menjünk a `Clone` gombra, majd `OK` és `Igen` + + ![](images/git-ext-clone.png) + + - Abban az esetben, ha authentikációt kér a program, adjuk meg a felhasználónevünket és egy **personal access token**-t. + + > **Fontos**: 2021 óta a GitHub nem fogad el jelszót az egyes műveletek authentikálásához, emiatt szükségünk lesz egy **Personal Access Token**-re, és mindenhol ezt kell majd használnuk a jelszó helyett. + > + > Tokent a következő módon lehet generálni: + > - Látogassunk el a [https://github.com/settings/tokens](https://github.com/settings/tokens) oldalra. + > - Válasszuk a `Generate new token` > `Generate new token (classic)` opciót. + > - Adjunk meg egy leírást a `Note` mezőbe. + > - Adjuk meg, hogy mikor járjon le a token az `Expiration` mezőbe. Ha saját gépen dolgozunk, akkor választhatunk hosszú időtartamot, mivel a kliens meg fogja jegyezeni. Laborgépeken érdemes minél rövidebb időt kiválasztani, hogy elkerüljük, hogy valaki illetéktelen hozzáférjen a fiókunkhoz. + > - A `Scope`-nál pipáljuk be a `repo`-t. + > + > ![](images/github-access-token.png) + > + > - Menjünk a `Generate token` gombra a lap alján. + > - **Másoljuk ki** a kapott tokent és **mentsük el** valahova, mert többet nem lesz lehetőségünk megnézni. + > - Minden alkalommal, amikor a git kliens jelszót kér, a tokent kell megadni. + + ![](images/git-ext-init.png) + + **Parancssorban** + + ```bash + cd + git clone + ``` + +## Új branch létrehozása és Neptun kód megadása + +Klónozás után a kiindulási kódunk a master branchen található, ahol még semmilyen nyoma nincs a labor megoldásnak. A beadás során a laborvezető mindig a te munkádara lesz kíváncsi, ezért a beadott megoldást mindig a kiindulási alappal fogja összehasonlítani és a változásokat értékelni. Ennek érdekében a kiindulási alapot meg kell tartanunk abban az állapotban, amiben van, vagyis a **master** branchre ne kommitolj soha! Helyette létrehozunk egy új ágat (branch) és azon fogunk dolgozni, majd pedig a pull requestet adunk be, ami pontosan ezt a két ágat fogja összehasonlítani. + +1. Hozzunk létre egy új branchet. + - Válasszuk a `Commands` > `Create branch...` menüpontot. + - Adjunk meg egy nevet az új branchnek. Bármilyen neved adhatunk, de az egységesség kedvéért legyen `megoldas`. + - Figyeljünk rá, hogy a branch nevében ne legyen ékezet. + - Menjünk a `Create branch` gombra, majd `OK`. + + ![](images/git-ext-new-branch.png) + + **Parancssorban** + + ```bash + git checkout -b + ``` + +1. Nyissuk meg a repositoryt és töltsük ki a `neptun.txt` fájlt. + - A fájlt a repository gyökerében találjuk. + - Ne írjunk semmi mást a fájlba, csakis a Neptun kódunk 6 karakterét. + +1. Kommitoljuk a változtatást. + - Ellenőrizzük, hogy a megfelelő branchen vagyunk, majd menjünk a `Commit` gombra. A szám a felifat mellett a változtatások számát jelenti. + + ![](images/git-ext-precommit.png) + + - Válasszuk ki a változtatásokat, amiket szeretnénk menteni és vigyük le a `Stage` / `Stage all` gombokkal. + - Adjunk meg egy üzenetet, hogy mit tartalmaz a kommit. + - Menjünk a `Commit` gombra, majd `OK`. + + ![](images/git-ext-commit.png) + + **Parancssorban** + + ```bash + git status # változások lekérése + + git add # adott fájl stagelése + git add -A # összes fájl stagelése + + git commit -m # stagelt változtatások kommitolása + ``` + +## Megoldások elkészítése + +Ezután következik a megoldások elkészítése. Ennek során figyelj a következőkre: + +- A feladatokat a kiadott leírás illetve a laborvezető utasításai alapján készítsd el. +- Gyakran, de legalább minden feladat után kommitolj. +- Figyelj rá, hogy mindig jó branchen legyél, valamint hogy minden módosítást kommitolj, amit te csináltál. +- A beállítási fájlokat, fordítási eredményeket (pl.: `.vs`, `bin`, `˙*.mvb`) ne kommitolj. +- Kommit üzenetnél nem számít, hogy magyarul vagy angolul írod, de mindig értelmes üzenetet adj meg ami tükrözi, hogy mit tartalmaz a változtatás. +- Amennyiben a feladat képernyőképet kér, azt mindig a megfelelő helyre, a megadott néven mentsd el. +- Szöveges válaszok esetén a kiadott leírás szövegébe, a megfelelő helyre kell írni a választ. + +## Megoldások feltöltése + +Miután végeztünk, de legkésőbb a labor végén, töltsük fel a megoldásokat a GitHub szerverére. Ezt a műveletet `push`-nak hívják. + +1. Ellenőrizzük, hogy a megfelelő branchen állunk, illetve vannak-e lokális kommitok: + - Azt, hogy a branchek melyik kommitra mutatnak, a fában láthatjuk. + - A lokális brancheket zöld színnel, a távoli brancheket bordó színnel láthatjuk. + - A `megoldas` branch csak lokálisan létezik, mivel nincs sehol `origin/megoldas`. + - Amennyiben a lokális és a távoli branch ugyanarra a kommitra mutat, akkor a változtatások szinkronizálva vannak. + + ![](images/git-ext-status.png) + + **Parancssorban** + + ```bash + git log + ``` + +1. Menjünk a `Push` gombra, majd ismét `Push`, `Igen`, `Igen` és `OK`. + - Abban az esetben, ha authentikációt kér, használjuk a korábbi lépésben készített tokent. + + ![](images/git-ext-push.png) + + **Parancssorban** + + ```bash + git push --set-upstream origin # első alkalommal, amikor még nem létezik a távoli + + git push # minden további alkalommal + ``` + +1. Ellenőrizzük, hogy a szinkronban van-e lokális és a távoli branch. + - A lokális és a távoli branch ugyanarra a kommitra mutat. + - Nincs nem kommitált változtatás. + + ![](images/git-ext-postpush.png) + + **Parancssorban** + + ```bash + git status + ``` + +## Megoldások beadása + +Miután feltöltöttünk mindent, még nem vagyunk készen. Még be kell adni a módosításokat amihez egy pull requestet kell létrehozni. + +1. Keressük fel a repository oldalát a GitHub-on. + +1. Hozzunk létre egy pull requestet. + - Ha nem rég pusholtunk, akkor a GitHub fel is ajánla, hogy létrehozhatjuk a pull requestet. + - Más esetben menjünk a pull request fülre. + + ![](images/github-create-pr.png) + + - Menjünk a `Create pull request` gombra. + - A `base` legyen a `master`, a `compare` pedig a `megoldas` branch. + - Ellenőrizzük a változtatásainkat, melyek megjelennek lejjebb, majd menjünk a `Create pull request` gombra. + + ![](images/github-pr-branches.png) + + - Adjuk a pull requestnek címet, lehetőség szerinte értelmeset. + - Olvassuk át az alapértelmezett leírást, és szükség szerint írjunk hozzá megjegyzést. (A preview fülre kattintva jobban olvasható.) + + ![](images/github-pr-description.png) + + - Ha mindennel elégedettek vagyunk, menjünk a `Create pull request` gombra. + + > **Fontos**: + > Miután megnyitottad a pull requestet, le fog futni egy automatikus kiértékelés: + > - A kiértékelő az alapvető formai követelményeket ellenőrizni (pl.: kitöltötted-e a `neptun.txt`-t). + > - Kigyűjti a képernyőképeket, amiket egy komment formájában fog posztolni. + > ![](images/github-evaluation-comment.png) + > - Ha nem vagy elégedett az eredménnyyel, akkor további kommitokkal tudod javítani. + > - Minden egyes alkalommal, amikor pusholsz a branchre, ismét le fog futni az értékelés. Ha ezt nem szeretnéd, állítsd a pull requestet `Draft`-ra. + > ![](images/github-pr-draft.png) + > - Ha elégedett vagy a végeredménnyel, és szeretnéd ismét lefuttatni az ellenőrzőt, állítsd a pull request állapotát vissza. + > ![](images/github-pr-ready.png) + > - **Maximum 5 alkalommal** futtathatod a kiértékelést, utána nem fogadjuk el a beadott megoldást. Az értékelések számát a **Checks** felirat mellől lehet legkönnyebben leolvasni. + > ![](images/github-pr-checks.png) + + +1. Ellenőrizzük a pull request tartalmát. + + - A **Converstaion** fülön látjuk az automatikus kiértékelő futásának eredményét és később a laborvezető visszajelzését. + - A **Commits** fülön látjuk a saját kommitjainkat. Abban az esetben, ha a git kliensünk rosszul van konfigurálva, itt a saját nevünk helyett akár másét is láthatjuk. + - A **Checks** fülön az auatomatikus kiértékelésekről kaphatunk több információt. + - A **Files changed** fülön a változtatásokat látjuk, ami alapján a laborvezető értékelni fogja a munkánkat. Ha itt nem látsz mindent módosítást, akkor valami elrontottál. + +1. További munka hozzáadása. + + - Abban az esetben ha valamilyen hibát tapasztaltál, vagy nem vagy elégedett a végeredménnyel, akkor további módosításokat tudsz még hozzáadni. + - Nem szükséges a pull request törlése, vagy lezárása! + - További kommitok hozzáadása és pusholása után a változtatások automatikusan megjelennek a pull requestben. + - Figyelj rá, hogy minden pusholáskor le fog futni a kiértékelés ha nem állítod a pull requestet piszkozat állapotúra. + +1. Végül ha mindennel elégedett vagy, rendeljük hozzá a pull requestet a laborvezetőhöz. + + - A beadás akkor véglegesedik, ha a laborvezető hozzá van rendelve. + - A reviewers fülön válasszuk ki a megfelelő laborvezetőt. + ![](images/github-pr-reviewer.png) + +1. Bizonyosodjunk meg róla, hogy a pull request állapota `Open`. + + - Ha minden rendben van, akkor készen vagyunk. + + ![](images/github-pr-open.png) + +## Abban az esetben, ha a laborvezető további módosításokat kér + +Előfordulhat olyan eset, hogy a laborvezető csak feltételekkel fogadja el a megoldást és további módosításokat kér. Erről email-ben kapunk értesítést, vagy a **Conversation** fülön is láthatjuk. + +![](images/github-pr-changes-requested.png) + +Ebben az esetben ugyanúgy kell eljárni, mint a korábbi lépéseknél: + +- Nem szükséges a pull request törlése, vagy lezárása! +- További kommitok hozzáadása és pusholása után a változtatások automatikusan megjelennek a pull requestben. +- Figyeljünk az automatikus ellenőrzésre! + +Ha készen vagyunk, és elégedettek vagyunk az eredménnyel, menjünk a `Re-request review` gombra, amivel értesítjük a laborvezetőt. + +![](images/github-pr-rerequest.png) + +## Értékelés utáni kérdés vagy reklamáció + +Ha a feladatok értékelésével vagy az eredménnyel kapcsolatban kérdésed van, használd a pull request kommentelési lehetőségét erre. Annak érdekében, hogy a laborvezető biztosan értesüljön a kérdésedről, használd a `@név` megemlítési funkciót a **laborvezető** megnevezéséhez. Erről automatikusan kapni fog egy email értesítést. + +![](images/github-pr-comment.png) + +> **Reklamáció csak indoklással**: +> Ha nem értesz egyet az értékeléssel, a bizonyítás téged terhel, azaz alá kell támasztanod a reklamációt (pl. annak leírásával, hogyan tesztelted a megoldást, és mi bizonyítja a helyességét). + +## Mit lehet tenni, ha valamit elrontottál + +És végül még egy fontos dolog: mi van, ha valamit elrontassz a folyamatban? + + - Ha még nem hoztad létre a pull requestet, akkor senki nem is látta, hogy valami félre ment, kezd nyugodtan újra az egészet, akár onnan is, hogy egy új branchre még egyszer feltöltöd a labor megoldásodat. (Lehet, hogy ott marad akkor egy régi, fel nem használt branch, de az senkit nem zavar.) + +- Ha már létrehoztad a pull requestet, de még nem jött el a leadási határidő, így a laborvezetőd nemigen látta, nyugodtan zárd le (esetleg írd oda kommentárba vagy az elején lévő szövegbe, hogy ez nem a végleges és ne vegyük figyelembe). + +- Ha a forráskód szinten maradt le valami, esetleg valamit utólag javítassz, akkor ha a pull request ágára (a fenti példában a “labor” ágra) kommitolsz a pull request létrehozása után, a módosítás automatikusan bekerül a pull requestbe is. Igaz, a laborvezetőd látni fogja az időbeli különbséget, így a határidő utáni módosítást is észre fogja venni, de a határidő előtt nyugodtan utólag is “hozzá lehet még csapni” pár módosítást, ahhoz nem is kell új pull requestet létrehozni. + +- És ami még egy kavarodási forrás: mi van akkor, ha elfelejtettél új branchet létrehozni és a masterre kommitoltad a megoldást? Általános szabály, hogy a pull request két ág különbsége. Vagyis ilyen esetben létre hozhatsz egy új branchet a labor megoldása előtti kommitra (ahova eredetileg a masternek kellett volna mutatnia), és a pull requestben akkor megfordulnak a szerepek: a master lesz a megoldást tartalmazó és ez az új ág a “base”, vagyis a kiindulási alap. Gondolj arra, hogy a kommitok gráfja a lényeg és az ágak csak egy-egy kommitra mutatnak. Új ágakkal bármikor bárhova mutathatsz, bármelyiket bárhova áthelyezheted (reset művelet). Kommitot elveszíteni igencsak nehéz, az ágakat meg át lehet helyezni, így elég nagy kavarodásokat is viszonylag könnyen rendbe lehet rakni. Ami fontos, hogy mindig a kommit gráfot nézd és abban gondolkodj! + +- Ha megakadsz, kérj segítséget bizalommal! + +## Hozzájárulás + +Valami kimaradt ebből a leírásból, vagy valami nem elég egyértelmű? Szívesen veszünk minden javítást. A [Mi a Snippet](/snippets/snippets/0000_MiASnippet/) cikkben részletesen leírást találhatsz arról, te hogyan tudsz ehhez az anyaghoz hozzájárulni. + +Szerzők, verziók: Knyihár Gábor diff --git a/stylesheets/stylesheet.scss b/stylesheets/stylesheet.scss index 28e79dd..6d0bcef 100644 --- a/stylesheets/stylesheet.scss +++ b/stylesheets/stylesheet.scss @@ -11,6 +11,7 @@ $ColorLightEmph: #990000; $ColorCodeForeground: #440000; $ColorCodeBackground: #FFFFFF; $ColorLink: #0000FF; +$ColorBlockquote: #573923; * { box-sizing: border-box; } @@ -190,8 +191,8 @@ a { .main-content blockquote { padding: 0 1rem; margin-left: 0; - color: $ColorCodeBackground; - border-left: 0.3rem solid $ColorCodeBackground; } + color: $ColorBlockquote; + border-left: 0.3rem solid $ColorBlockquote; } .main-content blockquote > :first-child { margin-top: 0; } .main-content blockquote > :last-child { @@ -327,4 +328,4 @@ a { .highlight .vc { color: #008080 } /* Name.Variable.Class */ .highlight .vg { color: #008080 } /* Name.Variable.Global */ .highlight .vi { color: #008080 } /* Name.Variable.Instance */ -.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */ +.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */ \ No newline at end of file