Quando si visualizza un commit su GitHub, c'è un file elencato con # -> # aggiunto ad esso (vedi immagine). Cosa significa?


0

Freccia GitHub

Sto visualizzando le differenze introdotte da un commit a un repository su GitHub e uno dei file ha il nome del file con questa misteriosa (per me) stringa ad essa aggiunta. Il nome del file è gulpfile.js ed è seguito da 100755 -> 100644. Qualcuno sa cosa significa?

Risposte:


0

Fondamentalmente questo significa che il commit ha rimosso il bit "eseguibile" dal file, cioè è chmod -xstato fatto dall'autore del commit.


I numeri sono nello stesso formato di st_mode in Unix stat ().

  • Il primo 10(ottale) indica un file normale. (04 è una directory, 12 è un symlink, 16 è un valore specifico di Git che indica un sottomodulo.)

  • Il prossimo 0644(ottale) sono le normali autorizzazioni Unix: il file è leggibile da tutti e scrivibile dal suo proprietario. Rispetto a ciò, 0755significa anche che il file è eseguibile da tutti.

(Nota che Git non memorizza le autorizzazioni reali, ma solo un sosia: memorizza sempre 0755 se il file è eseguibile e 0644 se non lo è, e 0000 per le directory e altri oggetti non file.)

È possibile visualizzare questi valori per i repository Git locali eseguendo git ls-tree <treeish>, ad esempio:

$ git ls-tree HEAD
100644 blob e42c7ff372783714c873fb8f33c7c04fba1d7e02 Plain_file.txt
040000 tree c909f07b68d787edabba4384f105fc37ed942e17 This_is_a_directory
120000 blob ba6b7e01db412305ff893b6c1cf279094f5656ac Symlink_to_a_file.txt
160000 commit 6a41d623cdd0f93f16dff679963d2a5b4f856bdb Some_submodule
100755 blob fe7ce105da1306e8648d8e2849cc3c72ca512d20 An_executable_script.sh
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.