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