Informatik Softwareentwicklung – Git und Versionskontrolle
Karteikarten zum Thema „Informatik“ · 15 Karten · von atrio. Beispiele: Welche drei Zustände durchläuft eine Datei in Git? · Was bewirkt der Befehl 'git add .'?
Karten
15 KartenWelche drei Zustände durchläuft eine Datei in Git?
Rückseite
Working Directory (bearbeitet), Staging Area (für Commit vorgemerkt), Repository (committet). Git verfolgt Änderungen nur in diesen drei Bereichen.
Was bewirkt der Befehl 'git add .'?
Rückseite
Fügt alle neuen und geänderten Dateien im aktuellen Verzeichnis und Unterverzeichnissen zur Staging Area hinzu – untracked und modified Dateien werden gestaged.
Worin unterscheidet sich 'git commit' von 'git push'?
Rückseite
git commit speichert Änderungen nur lokal im Repository; git push überträgt Commits an ein Remote-Repository (z. B. GitHub/GitLab).
Was ist ein 'detached HEAD'-Zustand?
Rückseite
HEAD zeigt direkt auf einen Commit-Hash statt auf einen Branch-Namen – entsteht durch 'git checkout <commit-hash>'. Neue Commits sind dann nur über Reflog erreichbar.
Wann verwendet man 'git merge' und wann 'git rebase'?
Rückseite
Merge bewahrt Historie und erstellt Merge-Commit (Team-Arbeit); Rebase schreibt Historie linear um (lokaler Feature-Branch vor Push). Rebase nie bei geteilten Branches anwenden.
Wie löst man einen Merge-Konflikt auf?
Rückseite
Konfliktdateien öffnen, Markierungen (<<<<<<<, =======, >>>>>>>) manuell bereinigen, 'git add' für gelöste Dateien, dann 'git commit' abschließen.
Was macht 'git stash' und wann ist es sinnvoll?
Rückseite
Speichert uncommitete Änderungen temporär ab, setzt Working Directory auf letzten Commit zurück. Nützlich für schnellen Branch-Wechsel ohne unfertige Arbeit zu committen.
Welche Funktion hat die Datei '.gitignore'?
Rückseite
Listet Datei-Muster auf, die Git nicht tracken soll (z. B. build-Artifacts, .env, node_modules/). Verhindert versehentliches Committen von Secrets oder generierten Dateien.
Was ist der Unterschied zwischen 'git fetch' und 'git pull'?
Rückseite
git fetch lädt Remote-Änderungen herunter ohne Merge; git pull = fetch + merge (oder rebase) in einem Schritt. Fetch erlaubt Review vor Integration.
Wie erstellt und wechselt man in einem Befehl zu einem neuen Branch?
Rückseite
Mit 'git checkout -b <branch-name>' oder seit Git 2.23 'git switch -c <branch-name>'. Erstellt Branch vom aktuellen HEAD und wechselt dorthin.
Was bewirkt 'git reset --hard HEAD~1'?
Rückseite
Setzt den aktuellen Branch um einen Commit zurück, verwirft alle Änderungen im Working Directory und Staging Area unwiderruflich. Vorsicht: Datenverlust möglich.
Wofür steht 'HEAD' in Git?
Rückseite
Symbolischer Verweis auf den aktuell ausgecheckten Commit (meist Branch-Spitze). Zeigt an, worauf der nächste Commit aufbauen wird.
Wie zeigt man die Unterschiede zwischen Working Directory und Staging Area an?
Rückseite
Mit 'git diff' (unstaged Änderungen) bzw. 'git diff --staged' (bereits gestagte Änderungen). Zeigt Zeilenweise Added/Removed-Markierungen.
Was ist ein 'Fast-Forward'-Merge?
Rückseite
Merge ohne neuen Commit, wenn der Ziel-Branch direkten Vorfahren des Quell-Branches hat. Git verschiebt Branch-Zeiger einfach vorwärts – lineare Historie bleibt erhalten.
Wie benennt man den letzten Commit nachträglich um?
Rückseite
Mit 'git commit --amend -m "neue Nachricht"' – ersetzt den letzten Commit durch neuen mit korrigierter Message. Nur bei noch nicht gepushten Commits anwenden.