Rebase deinen eigenen Feature Branch auf den Main Branch, um die History linear zu halten und Konflikte in kleinen Dosen vor dem Review zu lösen. Merge, wenn du diesen Branch in einen geteilten Branch integrierst, und rebase nie einen Branch, den andere schon gepullt haben, denn geteilte History umzuschreiben zwingt alle in eine Wiederherstellung. Kurz: Rebase private Arbeit, merge öffentliche Arbeit, und squashe, wenn die Commit-History künftigen Lesern nichts bringt.
Warum Interviewer das fragen
Git-Nutzung sagt dem Interviewer, wie du mit anderen arbeitest. Er will die Regel zu privater gegen geteilte History, das Verständnis, dass Rebase Commits neu schreibt statt sie zu verschieben, und Pragmatismus bezüglich Team-Konventionen. Wer überall auf einer Strategie besteht oder nicht erklären kann, warum ein Force Push auf einen geteilten Branch Schaden anrichtet, erzeugt im Team meist Reibung.
So baust du deine Antwort auf
- Nenn die Regel zu privaten gegen geteilte Branches.
- Erklär, was Rebase tatsächlich mit Commit-ids macht.
- Sag, wann du stattdessen squashen würdest.
- Ordne dich der Team-Konvention unter, wo es eine gibt.
Beispielantwort
Meine Regel ist: private History rebasen, geteilte History mergen. Solange ein Feature Branch meiner ist, rebase ich ihn regelmäßig auf main, weil das den Diff ehrlich hält und ich Konflikte lieber in drei kleinen Dosen habe als einmal riesig am Ende. Wenn er nach main geht, merge ich, meistens gesquasht, weil niemand, der in sechs Monaten das Log liest, meine fix typo Commits sehen will. Was ich nicht mache, ist einen Branch zu rebasen, den jemand anderes gepullt hat, denn Rebase verschiebt keine Commits, es erzeugt neue mit neuen Hashes, und die Kopien der Originale bei allen anderen sind damit verwaist. Das bedeutet einen Force Push und dass jemand Arbeit verliert. Ich musste einen Kollegen schon einmal durch das Reflog führen, um genau daraus zu retten. Über die Regel hinaus mache ich, was das Team ohnehin macht, denn eine konsistente History, die alle verstehen, schlägt meine persönliche Vorliebe, und das ist kein Hügel, auf dem man im Code Review sterben sollte.
Steht dieses Vorstellungsgespräch bald an? GhostPilot hört bei deinem Live-Call mit, erkennt die Frage in dem Moment, in dem sie gestellt wird, und bringt dir eine strukturierte Antwort in Echtzeit auf den Bildschirm. Probier es im nächsten Mock aus, oder hol dir einen $29 Session Pass, kein Abo, für den Ernstfall.
So funktioniert esNachfragen, mit denen du rechnen solltest
- Wie würdest du einen Commit retten, der nach einem misslungenen Rebase verloren ist?
- Was kannst du mit einem interaktiven Rebase aufräumen?
- Wie gehst du mit einem langlebigen Branch um, der stark abgedriftet ist?
Weitere Fragen für Softwareentwickler
Dein Interviewer stellt seine eigene Version davon. Kopier deine echte Stellenbeschreibung in den kostenlosen Question Predictor und bekomm die 20 Fragen, die diese Rolle am wahrscheinlichsten stellt, samt dem, worauf jede wirklich abzielt.
Meine Fragen vorhersagen