Компьютеры · Инструкция
Как изменить executable bit через git update-index
Иногда нужно изменить только исполняемый бит в индексе Git, например при работе на файловой системе, где локальный chmod
Короткий ответ
Используйте `git update-index --chmod=+x path` или `--chmod=-x path`, затем закоммитьте изменение режима файла. Проверьте актуальные условия по официальным источникам на дату 2026-09-18 и сверьте модель/версию устройства или сервиса перед действием.
Что делать
- 1. Проверьте текущий статус: Выполните `git diff --summary` или `git ls-files -s path`, чтобы понимать исходный режим.
- 2. Измените индекс: Для исполняемого файла: `git update-index --chmod=+x path`; для обычного: `--chmod=-x path`.
- 3. Проверьте diff: `git diff --summary --cached` должен показать изменение режима, например 100644 → 100755.
- 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.