Git Merge Konfliktusok és Ágak

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Mi történik a merge során, ha a HEAD és a célpont ág elágazik egymástól?

Új commit jön létre, amelynek két szülője van, ez a merge commit.

Milyen esetekben lép fel merge konfliktus a git használata során?

Merge konfliktus lép fel, ha átfedés van a változtatásokban, például ha ugyanazon fájl különböző sorain történt módosítás.

Mit jelentenek az ágak (branch) a git verziókövetésben?

Az ágak a munka szétválasztását és párhuzamosítását segítik, és névvel ellátott pointerek a gráfban.

Milyen tulajdonságokkal rendelkezik a merge commit?

<p>A merge commitnak két szülője van, és tartalmazza a különböző ágaktól származó változtatásokat.</p> Signup and view all the answers

Milyen lépéseket kell követni a merge konfliktus feloldása után?

<p>A konfliktus feloldása után a következő lépés a merge commit létrehozása.</p> Signup and view all the answers

Melyik évben készült el a git első verziója és ki volt a készítője?

<p>2005-ben készült el, Linus Torvalds készítette.</p> Signup and view all the answers

Miért ajánlott a parancssor használata a git tanulása során?

<p>A parancssor használata segít jobban megérteni a git működését és a parancsok hatását.</p> Signup and view all the answers

Milyen típusú fájlokat szoktak kihagyni a .gitignore fájlban?

<p>Kihagyják a kompiláció eredményeit, bináris fájlokat és IDE beállításokat.</p> Signup and view all the answers

Milyen online git tárolókat ismerünk?

<p>Ismerjük a GitHub, GitLab és BitBucket platformokat.</p> Signup and view all the answers

Milyen előnnyel jár a Git Bash használata Windows alatt?

<p>A Git Bash egy szimulált UNIX terminálkörnyezetet biztosít Windows alatt.</p> Signup and view all the answers

Mi a különbség a --soft és a --hard reset között a gitben?

<p>A <code>--soft</code> reset megtartja a változtatásokat a staging area-ban, míg a <code>--hard</code> reset mindent visszaállít, és a nem commitolt változások elvésznek.</p> Signup and view all the answers

Mit jelent a git reset --hard HEAD~1 parancs?

<p>Ez a parancs a jelenlegi ágat az egyel korábbi commit állapotába állítja vissza.</p> Signup and view all the answers

Mi az alapvető elv a git flow használatakor a feature branch-ekkel kapcsolatban?

<p>Minden user story-t a saját ágán, a feature branch-en valósítunk meg, sosem push-olunk közvetlenül a master ágra.</p> Signup and view all the answers

Mi a git flow előnye a csapatmunkában?

<p>A git flow biztosítja, hogy a master ág mindig stabil állapotot tükrözzön, így a kliens mindig átadható anyagot kap.</p> Signup and view all the answers

Milyen szerepet játszik a GitLab merge request a csapatmunkában?

<p>A GitLab merge request lehetővé teszi két ág összeolvasztását, és áttekinthető összefoglalót ad az átkapcsolásról.</p> Signup and view all the answers

Milyen követelményeket lehet meghatározni a GitLab merge request során?

<p>Feltételeket szabhatunk a merge-re, például a kód átnézését vagy tesztelését.</p> Signup and view all the answers

Mi a staging area szerepe a git verziókezelésében?

<p>A staging area ideiglenes hely a változtatások számára, ahol a commit előtt ellenőrizhetjük őket.</p> Signup and view all the answers

Hogyan támogathatja a kód átnézése a merge folyamatát a git-ben?

<p>A kód átnézése javítja a kódminőséget és segít az esetleges hibák kiszűrésében a merge előtt.</p> Signup and view all the answers

Mi a git log parancs fő funkciója?

<p>A git log parancs a jelenlegi ág commitjait listázza.</p> Signup and view all the answers

Mire szolgál a git log --oneline parancs?

<p>A git log --oneline parancs kompakt megjelenítést biztosít a commitokról.</p> Signup and view all the answers

Mi a különbség a git log --graph és a git log --oneline parancsok között?

<p>A git log --graph a commitok tényleges gráf megjelenítését biztosítja, míg a git log --oneline egyszerű, tömör listát ad.</p> Signup and view all the answers

Mit jelent a git merge parancs?

<p>A git merge parancs két commit történetét egyesíti.</p> Signup and view all the answers

Milyen tényezők befolyásolják a git merge működését?

<p>A git merge működését befolyásolja a HEAD által mutatott ág és a megadott célpont commit.</p> Signup and view all the answers

Mit jelent, ha a célpont már szülője a HEAD-nek a git merge során?

<p>Ez azt jelenti, hogy a jelenleg aktív ág már tartalmazza a célpont commit változásait.</p> Signup and view all the answers

Hogyan lehet megtekinteni a teljes gráfot GitLabon?

<p>A teljes gráf megtekintéséhez a Repository → Graph menüpontban kell navigálni.</p> Signup and view all the answers

Milyen információkat tartalmaz a git log outputja?

<p>A git log outputja tartalmaz commit ID-kat, üzeneteket, szerzőt és az ág pointereit.</p> Signup and view all the answers

Mi az a revízió vagy commit a git rendszerében?

<p>A revízió vagy commit a git rendszerében a tároló egy állapotát jelképezi, amely egyedi bináris azonosítóval rendelkezik.</p> Signup and view all the answers

Milyen típusú gráfban modellezzük a változásokat a git-ben?

<p>A változásokat egy irányított aciklikus gráfban (DAG) modellezzük a git-ben.</p> Signup and view all the answers

Mi a szerepe a HEAD pointernek a git tárolóban?

<p>A HEAD pointer jelképezi a lokális tárolóban látható állapotot és nyomon követi a változásokat a megadott commit alapján.</p> Signup and view all the answers

Mivel jelöljük a változásokat, amelyeket a következő commitba szeretnénk felvenni?

<p>A változásokat a <code>git add</code> parancs segítségével jelöljük, ami őket a staging area-ba helyezi.</p> Signup and view all the answers

Hogyan nevezzük el a commitokra mutató pointereket a git-ben?

<p>A commitokra mutató pointereket névvel látjuk el, például <code>master</code> vagy <code>origin/master</code> néven.</p> Signup and view all the answers

Mit jelent a headless állapot a git-ben?

<p>A headless állapot azt jelenti, hogy a HEAD pointer egyenesen egy revízióra mutat, nem pedig egy ágra.</p> Signup and view all the answers

Milyen információt tartalmaz a git commit az azonosítón kívül?

<p>A git commit tartalmazza a commit üzenetét és a változások listáját, amelyek a commit során történtek.</p> Signup and view all the answers

Mi a függősége a változások megjelenítésének az ágak és commitok között?

<p>A változások közötti függőségek a commitok közötti irányított kapcsolatok révén jelennek meg a gráfban.</p> Signup and view all the answers

Mi a célja a verziókövetésnek a szoftverfejlesztésben?

<p>A verziókövetés célja a közös kódbázis megosztása, vizsgálata és karbantartása, valamint a biztonsági mentések készítése.</p> Signup and view all the answers

Mik azok a tárolók (repositories) a verziókövető rendszerekben?

<p>A tárolók olyan mappák, amelyek monitorozzák a változásokat és tárolják a fejlesztéshez szükséges állományokat.</p> Signup and view all the answers

Mi a különbség a lokális és a távoli tároló között?

<p>A lokális tároló a fejlesztő számítógépén található, míg a távoli tároló egy külső számítógépen létezik.</p> Signup and view all the answers

Mik jellemzik a centralizált verziókövető rendszereket?

<p>A centralizált verziókövető rendszerek csak egy távoli tárolót támogatnak, és nem minden verzió kerül a lokális tárolóba.</p> Signup and view all the answers

Mi a hátránya a centralizált verziókövető rendszereknek?

<p>A hátrányuk, hogy a központi szerveren van a biztonsági mentés, ami egyetlen hibapontot jelent.</p> Signup and view all the answers

Miért előnyösek az osztott verziókövető rendszerek?

<p>Az osztott verziókövető rendszerek több távoli tároló karbantartását teszik lehetővé, és minden kliens teljes biztonsági mentést biztosít.</p> Signup and view all the answers

Mi történik a tároló inicializálásakor osztott verziókövető rendszerekben?

<p>A tároló inicializálásakor az összes állapot másolódik a lokális tárolóba.</p> Signup and view all the answers

Mi a szerepe a biztonsági mentéseknek a verziókövető rendszerekben?

<p>A biztonsági mentések szerepe a kód korábbi állapotainak helyreállítása és a munka elvesztésének elkerülése.</p> Signup and view all the answers

Flashcards

git

A verziókezelő rendszer, amelyet Linus Torvalds készített 2005-ben.

gitignore

Egy fájl, amely tartalmazza a figyelmen kívül hagyandó fájlokat és mappákat a git tárolóban.

parancssor

Olyan felület, ahol parancsokat adhatunk meg közvetlenül a számítógépnek.

GitHub

Online platform, ahol git tárolók vannak, és együttműködésre használják.

Signup and view all the flashcards

Git Bash

Windows alatt használható UNIX-típusú terminál, ami támogatja a git használatát.

Signup and view all the flashcards

Verziókövetés

Közös kódbázis csoportok számára, kód megosztására és karbantartására.

Signup and view all the flashcards

Tároló (repository)

Mappa, ami monitorozza a változásokat, minden állapot elmentődik.

Signup and view all the flashcards

Lokális tároló

A developer saját gépén lévő tároló, kódot tárolja lokálisan.

Signup and view all the flashcards

Távoli tároló

Kód tárolása külső számítógépen, lehet központi vagy osztott.

Signup and view all the flashcards

Centralizált verziókövető rendszer

Csak egy távoli tárolót támogat, a lokális tároló szinkronizálható vele.

Signup and view all the flashcards

Hátrányok a centralizált rendszerben

Egyetlen biztonsági mentés a központi szerveren; az Internet kapcsolat szükséges.

Signup and view all the flashcards

Osztott verziókövető rendszer

Több távoli tároló karbantartása lehetséges, minden állapot másolódik a lokális tárolóba.

Signup and view all the flashcards

Biztonsági mentések

A tárolók minden állapota másolatban elérhető, biztosítva a rendszer ellenállóságát.

Signup and view all the flashcards

Revizió

A git csomópontjait jelképező állapot, amit commitnak is nevezünk.

Signup and view all the flashcards

Bináris azonosító

A git minden revíziót egyedi bináris azonosítóval lát el.

Signup and view all the flashcards

Pointer

Névvel ellátott mutató egy commitra a gráfban.

Signup and view all the flashcards

HEAD

A lokális tároló aktuális állapotát képviselő különleges pointer.

Signup and view all the flashcards

Headless állapot

Amikor a HEAD egyenesen egy revizióra mutat.

Signup and view all the flashcards

Git add

A változtatások megjelölése a következő commitban való megjelenéshez.

Signup and view all the flashcards

Staging area

A git terület, ahol a változásokat a commit előtt gyűjtjük.

Signup and view all the flashcards

DAG

A git változások modellezésének irányított gráfja, ahol egy állapot b-ből a következő a-ra épül.

Signup and view all the flashcards

Merge commit

Olyan commit, amelynek két szülője van, mint a merge után keletkezik.

Signup and view all the flashcards

Átfedés

Amikor két branchben azonos sorokban történik változás, merge konfliktust okoz.

Signup and view all the flashcards

Aktív branch

Az a branch, amely éppen ki van választva, és a HEAD mutat rá.

Signup and view all the flashcards

Merge konfliktus

Amikor a git nem tud automatikusan összefésülni változások miatt, ezt manuálisan kell megoldani.

Signup and view all the flashcards

Branching

A munka párhuzamos elválasztását és kezelését segítő ágrendszer a gitben.

Signup and view all the flashcards

git reset

A git parancs, amely az aktív ágat visszaállít a megadott állapotba.

Signup and view all the flashcards

--soft reset

A git reset mód, amely megtartja a staging area-ban lévő változtatásokat.

Signup and view all the flashcards

--mixed reset

A git reset mód, amely megtartja a változtatásokat, de kiveszi azokat a staging area-ból.

Signup and view all the flashcards

--hard reset

A git reset mód, mely mindent visszaállít, és az el nem kötelezett változtatások elvésznek.

Signup and view all the flashcards

feature branch

Olyan ágat jelent, amely egy adott funkciót valósít meg, és nem a master ágon dolgozunk rajta.

Signup and view all the flashcards

master ág

A stabil ágat jelenti, amely nem tartalmaz félkész funkciókat.

Signup and view all the flashcards

merge request

Online eszköz a két ág összeolvasztására, amely összehasonlítást és code review-t tesz lehetővé.

Signup and view all the flashcards

kód átnézés

A folyamat, amely során a csapat tagjai ellenőrzik egymás kódváltoztatásait.

Signup and view all the flashcards

git log

A git parancs, amely listázza az aktuális ág commitjait, és betekintést nyújt a gráfra.

Signup and view all the flashcards

git log --oneline

A git log parancs kompakt megjelenítése, amely egy sorban mutatja a commitokat.

Signup and view all the flashcards

git log --graph

A git log parancs, amely gráf formában rajzolja ki a commitok közötti kapcsolatokat.

Signup and view all the flashcards

git log -n

Ez a parancs csak az utolsó n darab commitot listázza, ahol n egy szám.

Signup and view all the flashcards

git merge

Két commit történetét egyesíti; az aktív ág marad, a HEAD pedig mozdul.

Signup and view all the flashcards

műveletek merge-nél

A merge parancsnál a célpont commit nem mozdul, csak a HEAD és az aktív ág.

Signup and view all the flashcards

célpont a merge-nél

A merge célpontja lehet egy commit hex ID, ágnév vagy meta-revizió.

Signup and view all the flashcards

gráf GitLabon

A GitLabon látható teljes gráf a repository ágairól.

Signup and view all the flashcards

Study Notes

Szoftvermérnöki verziókövetés: Git & Git Flow

  • A verziókövetés lehetővé teszi a csapatok számára, hogy közös kódbázist használjanak, megoszthassák, átvizsgálhassák és karbantarthassák a kódot.
  • A biztonsági mentések hasznosak.
  • A legismertebb verziókövető rendszerek közé tartozik a Git és a Mercurial.
  • A tároló (repository) egy mappa, ahol a verziókövető rendszer nyomon követi a változásokat.
  • A tároló tartalmazza a fejlesztéshez szükséges összes fájlt (forráskódok, dokumentációk, erőforrások, stb.).

Centralizált verziókövető rendszerek

  • Egy lokális tárolót szinkronban tartunk egy távoli tárolóval.
  • Ha egy rendszer csak egy távoli tárolót támogat, akkor centralizált rendszer.
  • Csak a központi szerveren vannak biztonsági másolatok (single point of failure).
  • Internet-kapcsolat szükséges.
  • Pl. SVN

Széttagolt verziókövető rendszerek

  • Több távoli tároló karbantartása lehetséges.
  • Az összes állapot inicializáláskor másolódik a lokális tárolóba (clone).
  • Minden kliensgép teljes biztonsági mentéssel szolgálhat.
  • Nincs szükség Internet-kapcsolatra.
  • Pl. Git, Mercurial
  • A hátrány a hosszabb clone idő.

Git

  • Linus Torvalds készítette a 2005-ben.
  • Parancssorból is használható.
  • Hasznos a parancssor használata.
  • Léteznek felhasználói felületek (GitKraken, SourceTree).
  • Online git tárolók (GitHub, Gitlab, Bitbucket).
  • Windows-on is használható a Git Bash.

.gitignore

  • Egy soronkénti lista a fájlnevekből vagy szűrőkből, amelyeken keresztül a Git figyelmen kívül hagyhatja a fájlokat.
  • Bárhol elhelyezhető a tárolóban.
  • A mappára érvényes, az összes almappára is.
  • Javasolt legalább a tároló gyökerében elhelyezni.
  • Példák: lefordított programok, IDE-beállítások, naplófájlok.

Git tároló inicializálása

  • Egy mappa megjelölése lokális tárolóként.
  • Létrehoz egy .git mappát.
  • Lehet URL-ről is inicializálni.

Beállítások

  • A Git beállítások több fájlban találhatók.
  • Prioritási sorrendben: lokális, felhasználó, rendszer.

Külső tárolók karbantartása

  • Egy tároló több külső tárolóval is szinkronban tartható.
  • Külső tárolókat remote-okként kezel a Git.
  • Használatához URL szükséges.
  • Releváns parancsok: git remote -l, git remote add.

Változások modellezése: DAG (Directed Acyclical Graph)

  • A Git változások szerkezetét egy irányított, körmentes gráffal modellezi.
  • A csúcsok revíziók (commitok).
  • Az élek egy revíziótól a másikhoz mutatnak (általában egy korábbi revíziótól egy újabbra mutatva).
  • A Git minden revíziót egyedi bináris azonosítóval lát el.
  • A b-ből a-ba mutató él azt jelenti, hogy az állapot a-n alapszik.

Változások feltöltése

  • A változtatásokat a Git Staging Area-ba, majd committal a tárolóba kell feltölteni.
  • git add parancs a változtatások felvételére a staging area-ba.
  • git commit parancs a feltöltéshez.
  • Üzenet kötelező a committal együtt.

Változások letöltése

  • git fetch a távoli tároló változásainak letöltésére a lokális tárolóban.
  • git pull a letöltött változások integrálására a lokális ágba.

További Git parancsok

  • git status, git diff, git log, git log --oneline --graph.

Összevonás (merge)

  • Két ág (branch) változását egyesítő művelet.
  • Hasznos a különböző ágak munkájának egyesítéséhez, összevonásához.
  • Ha a két ág elágazott egymástól, akkor nem lehet automatikusan elvégezni az összevonást.

Elágazás (branching)

  • A feladatok szétválasztására és egyidejű (párhuzamos) lebonyolítására szolgál.
  • git branch parancs elágazások listázásához.
  • Új ág létrehozása: git branch <ágNév>.
  • Aktív ág váltása: git checkout <ref>.

Clean & reset

  • A Git 'clean' parancs törli a nem követett fájlokat.
  • A Git reset parancs visszaállítja a tárolót egy korábbi állapotba.
  • Különböző módjai vannak a 'reset'-nek, hogy miként befolyásolja a staging areát.

Git flow

  • Egy konvencionális Git munkamódszer.
  • A funkcionalitás szerint tagolva az egyes ágak.
  • feature branches létrehozása.
  • merge a master ágra.
  • gitlab merge request

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

More Like This

GIT Radiology by Prof. V. Adetiloye
12 questions

GIT Radiology by Prof. V. Adetiloye

WellEducatedByzantineArt8589 avatar
WellEducatedByzantineArt8589
Git Basics
35 questions

Git Basics

RedPandaDestroyer avatar
RedPandaDestroyer
Use Quizgecko on...
Browser
Browser