Beim Anzeigen eines Commits auf GitHub wird eine Datei mit # -> # angehängt (siehe Bild). Was heißt das?


0

GitHub-Pfeil

Ich sehe mir die Unterschiede an, die durch ein Commit für ein Repository in GitHub eingeführt wurden, und an eine der Dateien ist der Dateiname mit dieser (für mich) mysteriösen Zeichenfolge angehängt. Der Dateiname ist gulpfile.js und es folgt 100755 -> 100644. Weiß jemand, was es bedeutet?

Antworten:


0

Grundsätzlich bedeutet dies, dass der Commit das "ausführbare" Bit aus der Datei entfernt hat, dh chmod -xvom 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 0755heiß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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.