n1ro°
RU

Компьютеры · Инструкция

Как изменить executable bit через git update-index

Иногда нужно изменить только исполняемый бит в индексе Git, например при работе на файловой системе, где локальный chmod

Редакция N1RO · Проверено

Короткий ответ

Используйте `git update-index --chmod=+x path` или `--chmod=-x path`, затем закоммитьте изменение режима файла. Проверьте актуальные условия по официальным источникам на дату 2026-09-18 и сверьте модель/версию устройства или сервиса перед действием.

Что делать

  1. 1. Проверьте текущий статус: Выполните `git diff --summary` или `git ls-files -s path`, чтобы понимать исходный режим.
  2. 2. Измените индекс: Для исполняемого файла: `git update-index --chmod=+x path`; для обычного: `--chmod=-x path`.
  3. 3. Проверьте diff: `git diff --summary --cached` должен показать изменение режима, например 100644 → 100755.
  4. 4. Закоммитьте: Добавьте изменение в обычный commit вместе с пояснением, зачем менялся mode.

Пример

Для скрипта `bin/tool.sh`: `git update-index --chmod=+x bin/tool.sh`, затем `git diff --summary --cached`.

Важно

`--chmod` меняет записанный Git executable bit; это не универсальный инструмент управления всеми POSIX-разрешениями.

Как понять, что всё сработало

  • `git diff --summary --cached` показывает ожидаемую смену режима `100644 ↔ 100755`.
  • Изменён только executable bit нужного файла; содержимое файла не затронуто.

Что учитывать

`--chmod` меняет записанный Git executable bit; это не универсальный инструмент управления всеми POSIX-разрешениями.

Источники и проверка

Фактическая часть сверена по первичным источникам (в т.ч. git-update-index Documentation). Пример и формулировки — редакция N1RO на 2026-09-18.