Grundsätzlich bedeutet dies, dass der Commit das "ausführbare" Bit aus der Datei entfernt hat, dh chmod -x
vom Commit-Autor durchgeführt wurde.
Die Zahlen haben dasselbe Format wie st_mode in Unix stat ().
Das erste 10
(Oktal) kennzeichnet eine reguläre Datei. (04 ist ein Verzeichnis, 12 ist ein Symlink, 16 ist ein Git-spezifischer Wert, der ein Submodul anzeigt.)
Das nächste 0644
(oktale) sind die regulären Unix-Berechtigungen - die Datei ist für alle lesbar und für den Eigentümer beschreibbar. Im Vergleich dazu 0755
heißt das auch, dass die Datei von jedem ausführbar ist .
(Beachten Sie, dass Git nicht die tatsächlichen Berechtigungen speichert, sondern nur das Aussehen: Es speichert immer 0755, wenn die Datei ausführbar ist, und 0644, wenn dies nicht der Fall ist, und 0000 für Verzeichnisse und andere Nicht-Datei-Objekte.)
Sie können diese Werte für lokale Git-Repositorys anzeigen, indem Sie Folgendes ausführen git ls-tree <treeish>
:
$ git ls-tree HEAD
100644 Blob e42c7ff372783714c873fb8f33c7c04fba1d7e02 Plain_file.txt
040000 Baum c909f07b68d787edabba4384f105fc37ed942e17 Dieses_ist_ ein_Verzeichnis
120000 Blob ba6b7e01db412305ff893b6c1cf279094f5656ac Symlink_to_a_file.txt
160000 commit 6a41d623cdd0f93f16dff679963d2a5b4f856bdb Some_submodule
100755 Blob fe7ce105da1306e8648d8e2849cc3c72ca512d20 An_executable_script.sh