Просто превратил some.sh
файл в исполняемый файл ( chmod 755 ...
), разрешения были обновлены, но не содержимое. Есть ли способ зафиксировать файл в git, чтобы исполняемый бит был восстановлен / установлен на clone / checkout / pull ?
Обновление: как я могу отследить, что новые разрешения были отправлены github
?
github
?git status
я вижу изменения ..@fooMonster статья работала на меня
Как видите, файл имеет разрешение 644 (без учета 100). Мы хотели бы изменить его на 755:
зафиксировать изменения
источник
git commit -a
ничего не сделало для меня, однако настройка сообщения в командной строке сделала. Немного# git update-index --chmod=+x script.sh
# git ls-tree HEAD
# git commit -m "Changing file permissions"
# git push
Не работает для меня
Режим верный, права доступа к файлам были изменены, но git говорит, что делать нечего.
Кажется, проблема в том, что git распознает только определенные изменения прав доступа.
источник
git
действительно только отслеживает, является ли файл исполняемым или нет, а не полный набор разрешений * nix. Таким образом, вам придется переключать файл между исполняемым файлом / не для того, чтобы он думал, что вы изменили что-то, что стоит совершить ...post-checkout
зацепкаgit
, которая бы охватывала некоторые случаи, но я не уверен, охватит ли это все возможные вещи, которые обновляют файлы в вашем рабочем дереве. Возможно, вам лучше иметь в своем репозитории дополнительный сценарий оболочки, который устанавливает все соответствующим образом. Кроме того, есть пара проектов, которые дополняютgit
возможности хранения метаданных, но я никогда не пробовал ни одного из них ...git update-index --refresh
, но разница показываетold mode 100644 new mode 100755
. Он не