2016-08-24 2 views

Antwort

10

Dies wurde getan, um die Konsistenz zu verbessern und Zweideutigkeiten zu vermeiden. Wie in der commit that changed this behavior:

Arbeitsverzeichnis kann leicht mit dem aktuellen Verzeichnis verwechselt werden.

Also diese Änderung besser gemacht wurde zwischen dem Arbeits Baum eindeutig zu machen, den Standort bedeutet, in dem Repository ausgecheckt wurde, und eine der aktuelle Arbeitsverzeichnis, wo Sie den git status Befehl ausführen, wich kann irgendwo unter Ihrem Arbeitsbaum sein (oder vielleicht nicht, wenn Sie GIT_WORK_TREE Umgebungsvariable einstellen).

+0

Sagt es die ganze Zeit nur "Baum arbeiten"? Das wäre auch irreführend. Wenn Sie 'git status.' ausführen, erhalten Sie den Status des Arbeitsverzeichnisses. Wenn Sie 'git status subsubdir' ausführen, dann ist das Ergebnis weder über das aktuelle Arbeitsverzeichnis noch über den gesamten Arbeitsbaum ... –

+0

@ WumpusQ.Wumbley Ja, das ist richtig. Wenn Sie pathspecs für 'git-status' bereitstellen und sie unverändert sind, dann heißt es' nothing to commit, working tree clean', auch wenn andere Teile der Arbeitsbaumstruktur _nicht_ sauber sind. Ich stimme zu, dass dies nicht optimal ist, obwohl es nicht schlimmer ist als zuvor. –

3

Es gibt einen kleinen Unterschied in der Bedeutung.

A Verzeichnis ist eine einzigartige Sache - ein Ordner, eine Sammlung von Dateien - während eines Arbeits Baumes bedeutet einen Baum wie Struktur von Dateien und Verzeichnissen, die gemeinsam referenziert werden.

Arbeitsbaum bedeutet das Verzeichnis, das den .git-Ordner enthält, einschließlich aller Unterverzeichnisse und Dateien.

Um dies vollständiger zu verstehen, müssen Sie verstehen, wer Git: Linus Torvalds erstellt hat. Alles in Git ist eng mit der Namensgebung Linux im Zusammenhang Konventionen und Denkprozessen, die beinhalten, wie Git „denkt“ über Dateien oder Dateisystem:

Von 3.1.3. More file system layout

Der Einfachheit halber wird das Linux-Dateisystem in der Regel gedacht von in einer Baumstruktur. Auf einem Standard-Linux-System wird das Layout im Allgemeinen wie folgt aussehen.

Linux file system diagram

So ist es ein „Arbeits Baum“, weil Linux Kernal/Dateisystem-Entwickler Git gebaut, und in Linux das Dateisystem als ein „Baum“, dachte genannt.

1

Aktuelles Verzeichnis

ist Ihre aktueller Ordner, Befehlszeile ls Liste der Elemente im aktuellen Verzeichnis

Arbeiten Baum

Ihr aktuelles Verzeichnis sind und alle Verzeichnispfade Wenn ich es wäre, würde ich es in 'Arbeitsverzeichnisbaum umbenennen', so dass der Begriff 'Baum' sich mehr für ein di anbietet Pfarrhaus Struktur in Ihrem geistigen Auge und weniger auf eine git Baumstruktur

Arbeitsverzeichnis

ist zweideutig, um sich auf diesen beiden Fällen nicht verwenden dieses Wort verwendet. Es verwirrt alle.