Interviewfragen zu Git (Senior) mit Antworten
76 Fragen fürs Vorstellungsgespräch zu Git (Senior) mit richtigen Antworten, Erklärungen und Links zur Dokumentation.
Diesen Test machen- 1.Welche vier Objekttypen bilden die Objektdatenbank von Git?
- 2.Warum dupliziert das Umbenennen einer Datei ihren Inhalt im Git-Speicher nicht?
- 3.Was ist intern eine Ref in Git?
- 4.Was macht
git gc? - 5.Wie halten Packfiles Repositories klein?
- 6.Warum lässt sich ein Commit, der auf keinem Branch mehr ist, noch zurückholen?
- 7.Wozu wechselt Git als Alternative zu SHA-1, und warum?
- 8.Was vergleicht ein Drei-Wege-Merge?
- 9.Was ist
ort? - 10.Was ist der Unterschied zwischen
-s oursund-X oursbei einem Merge? - 11.Was ist ein Octopus-Merge?
- 12.Wie entfernt man ein geleaktes Secret aus der gesamten Historie eines Repositorys?
- 13.Warum rät man heute von
git filter-branchab? - 14.Ein Kollege hat force-gepusht, und dein
mainist abgewichen. Was ist die sicherste Wiederherstellung? - 15.Was macht ein Partial Clone mit
--filter=blob:none? - 16.Warum wird
git statusin sehr großen Repositories langsam, und was hilft? - 17.Was ist eine Refspec wie
+refs/heads/*:refs/remotes/origin/*? - 18.Submodul vs. Subtree: was ist der zentrale Kompromiss?
- 19.Warum kann ein revertierter Merge Ärger machen, wenn der Branch später erneut gemergt wird?
- 20.Wie hilft
git cherryoder die Erkennung per Patch-ID nach einem Cherry-Pick? - 21.Wobei hilft
git rebase --update-refsbei gestapelten Branches? - 22.Welches Problem löst eine Merge Queue?
- 23.Warum sollte jeder Commit auf
mainbauen und die Tests bestehen, nicht nur der Endstand des PR? - 24.Wie geht man bei
git bisectmit nicht testbaren Commits um? - 25.Was lässt
git bisect run ./test.shfunktionieren? - 26.Warum beweist ein signierter Commit trotzdem nicht, dass der Code sicher ist?
- 27.Was kann ein serverseitiger
pre-receive-Hook, was Client-Hooks nicht können? - 28.Was kann man mit
git notesanhängen? - 29.Warum kann ein Branch namens
featuredas Anlegen vonfeature/loginverhindern? - 30.Was ist der Index (Staging-Bereich) technisch?
- 31.Was sind bei einem Konflikt die Index-Stufen 1, 2 und 3?
- 32.Wie bekommt man bei einem Merge genau „ihre“ Version einer Datei mit Konflikt?
- 33.Worauf beziehen sich „ours“ und „theirs“ bei
git rebase main? - 34.Was macht
git replace? - 35.Wofür ist das Datei-Locking von Git LFS da?
- 36.Warum sind versehentlich committete riesige Dateien auch nach dem Löschen ein langfristiges Problem?
- 37.Was verbessert Git-Protokoll v2?
- 38.Was erzeugt
git clone --mirror? - 39.Wozu dient die Datei commit-graph?
- 40.Warum nutzt man gestapelte Pull Requests?
- 41.Wie ermöglichen Conventional Commits automatisierte Releases?
- 42.Womit tut sich
git log --followschwer? - 43.Warum zeigt
git blamenach dem Aufteilen einer Datei in zwei eventuell den falschen Autor? - 44.Was ist eine kreuzweise (criss-cross) Merge-Historie?
- 45.Wie erzeugt man ein Release, dessen Quellcode sich exakt reproduzieren lässt?
- 46.Warum verbieten manche Teams Merge-Commits von
mainin Feature-Branches? - 47.Was passiert mit offenen Pull Requests, wenn man die Historie von
mainumschreibt? - 48.Wofür ist
git bundlenützlich? - 49.Was ist an
git push origin main:productioninteressant? - 50.Welches Risiko bringt
git config --global url."git@github.com:".insteadOf? - 51.Wie geht man am besten mit Zugangsdaten für HTTPS-Remotes um?
- 52.Was richtet
git maintenance startein? - 53.Warum ist „Merge-Commit“ vs. „Squash“ eine Team- und keine persönliche Entscheidung?
- 54.Was ist eine symbolische Ref?
- 55.Wie prüft man, dass die Objekte eines Repositorys nicht beschädigt sind?
- 56.Warum ist
git push --forceauf einen geteilten Branch gefährlich, selbst mit Backups in der CI? - 57.Was ist der Kompromiss eines Monorepos mit Git im Vergleich zu vielen Repositories?
- 58.Warum behalten rebaste Commits ihr ursprüngliches Autordatum, ändern aber das Committer-Datum?
- 59.Was zeigt
git log --cherry-pick --left-right A...B? - 60.Wie verhindert man, dass ein riesiger Diff von
package-lock.jsondie eigentliche Änderung im Review überdeckt? - 61.Was erlaubt ein eigener Merge-Treiber in
.gitattributes? - 62.Warum ist das Umschreiben der Historie in einem Open-Source-Projekt mit Forks besonders störend?
- 63.Was ist der Hauptgrund, dass Git Branches in konstanter Zeit anlegen kann?
- 64.Wie wirkt
git rererebei einem langen Rebase, den man abbricht und neu macht? - 65.Warum berechnet die CI auf einem flachen Klon eventuell die falsche Menge geänderter Dateien?
- 66.Was ist ein „hängender“ (dangling) Commit?
- 67.Warum sollte man keine Secrets in Commit-Nachrichten, Branch-Namen oder Tags schreiben?
- 68.Was erzeugt
git switch --orphan docs? - 69.Warum können zwei Entwickler beim selben
git log-Befehl Verschiedenes sehen? - 70.Wann ist
git merge --no-ffnützlich, obwohl ein Fast-Forward möglich wäre? - 71.Was liefert
git range-diffeinem Reviewer nach einem force-gepushten PR-Update? - 72.Warum ist
git stashals Langzeitspeicher riskant? - 73.Was listet
git log --merges --first-parentaufmain? - 74.Was kostet eine sehr große Zahl von Refs (zum Beispiel Millionen PR-Refs)?
- 75.Warum ist
git worktreefür paralleles Arbeiten sicherer als zweimaliges Klonen? - 76.Was passiert mit Commit-Hashes, wenn man ohne Änderungen auf dieselbe Basis rebast?