Die "Phase" ist ein technisch erforderlicher Zwischenschritt beim Einchecken einer Datei, nämlich das Sammeln der Änderungen, die dem Repository hinzugefügt werden sollen. Die Autoren von Git haben sich dafür entschieden, diesen Schritt sichtbar und dauerhaft zu machen, wenn andere VCS ihn zu einem vorübergehenden Bestandteil des Festschreibungsprozesses machen. Es ist also nur eine Option, die Git gibt, weil es kann, warum also nicht?
So wie ich es sehe, ist die Hauptsache, die Ihnen die git "stage" gibt, dass andere VCS es nicht können, um eine Datei zu überprüfen. Es ist praktisch ein unbenanntes, unkommentiertes lokales Commit, das Ihnen einen Zwischenschritt zwischen dem Abschluss Ihrer gesamten Arbeit und dem dauerhaften Commit des Repositorys und dem Speichern von nichts in Ihrem lokalen Repository bietet.
Nehmen wir zum Beispiel an, Sie haben ein Feature teilweise fertiggestellt. Es ist in einem stabilen Zustand, besteht alle Tests und könnte in Produktion gehen, aber Sie müssen noch mehr daran arbeiten. Sie können alle Änderungen vornehmen und dann an der Funktion weiterarbeiten.
Später haben Sie die Möglichkeit, Ihre bereitgestellten Daten einfach festzuschreiben (und diese Festschreibung an das Remote-Repository zu übertragen) oder Ihre neuen Änderungen in Ihren Bereitstellungsbereich einzufügen und diese dann auf einmal festzuschreiben oder nur Ihre neuen Änderungen rückgängig zu machen und Stellen Sie in Ihrem Arbeitsverzeichnis den Zustand wieder her, in dem Sie Ihre Änderungen vorgenommen haben.
Es ist durchaus möglich, den Staging-Bereich praktisch komplett zu überspringen und die -a
Option zu verwenden, git commit
wenn Sie den Staging-Bereich nicht als hilfreich empfinden. Viele Leute überspringen Staging und GUI-Tools ermöglichen dies normalerweise auch.