GitHub Arrow

Я просматриваю различия, введенные коммитом в репозиторий на GitHub, и к одному из файлов добавлено имя файла с этой загадочной (для меня) строкой. Имя файла - gulpfile.js, за которым следует 100755 -> 100644. Кто-нибудь знает, что это значит?

1 ответ1

0

По сути это означает, что коммит удалил бит "исполняемый" из файла, т.е. chmod -x был сделан автором коммита.


Числа в том же формате, что и st_mode в Unix stat().

  • Первые 10 (восьмеричные) указывают на обычный файл. (04 является каталогом, 12 является символической ссылкой, 16 является специфическим для Git значением, указывающим подмодуль.)

  • Следующие 0644 (восьмеричные) являются обычными разрешениями Unix - файл доступен для чтения всем и для записи его владельцем. По сравнению с этим 0755 также означает, что файл может выполняться всеми.

(Обратите внимание, что Git не хранит реальные разрешения, только похожий: он всегда хранит 0755, если файл исполняемый, и 0644, если это не так, и 0000 для каталогов и других не файловых объектов.)

Вы можете увидеть эти значения для локальных репозиториев Git, запустив git ls-tree <treeish> , например:

$ 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .