Я прочитал несколько вопросов, касающихся прав доступа к файлам в Git, и все еще немного запутался. У меня есть репозиторий на GitHub, раздвоенный от другого. Пост слияния, они должны быть идентичны. Тем не мение:
$ git diff --summary origin/epsilon master/epsilon
mode change 100644 => 100755 ants/dist/sample_bots/csharp/compile.sh
mode change 100644 => 100755 ants/dist/starter_bots/coffeescript/MyBot.coffee
mode change 100644 => 100755 ants/dist/starter_bots/coffeescript/ants.coffee
mode change 100644 => 100755 ants/util/block_test.sh
mode change 100644 => 100755 manager/mass_skill_update.py
mode change 100644 => 100755 worker/jailguard.py
mode change 100644 => 100755 worker/release_stale_jails.py
mode change 100644 => 100755 worker/start_worker.sh
Я пытался изменить права доступа к файлам, но это не меняет результаты сравнения.
windows
git
diff
file-permissions
Synesso
источник
источник
core.filemode
установилfalse
), на самом деле имеют установленный бит выполнения.--add
флаг исполнения по какой - либо причине:git update-index --add --chmod=+x <file>
. После этого файл уже находился в стадии работы с chmodИз другого вопроса здесь о stackoverflow: Как я могу заставить Git игнорировать изменения режима файла (chmod)?
Пытаться:
Из git-config (1) :
источник
hard
я пытался выполнить сброс. Это помогло мне.Удобный однострочный для Git Bash:
Он пометит весь
.sh
файл как исполняемый. После этого вам просто нужноgit commit
.источник
Если вы используете Cygwin git (или, я полагаю, и Linux git), есть большая вероятность, что ваш параметр core.filemode был установлен на уровне проекта в $ projdir / .git / config. Я обнаружил, что мне нужно было сделать следующее, чтобы мой Git Cygwin и мой Git Windows прекрасно сосуществовали в файловой системе Windows без каких-либо несуществующих изменений файлового режима:
Это позволяет моему Cygwin git продолжать видеть изменения файлового режима, которые обычно актуальны, и в то же время инструктировать Windows git игнорировать изменения файлового режима, которые он видит, что обычно является ложным срабатыванием.
источник
Сначала проверьте права доступа к файлу, используя следующую команду.
Затем измените разрешения. Здесь «x» представляет разрешения на выполнение.
Теперь повторно проверьте разрешения.
==============================================
если вы используете ПК с Windows, но развертываете на Linux-машине. Выполните приведенную ниже команду в первую очередь, чтобы сделать ее совместимой для запуска на компьютере с Linux
dos2unix scriptname.ext scriptname.ext
источник
git update-index --chmod=1777 'scriptname.ext'
?Я исправил это, изменив права доступа к файлам в Ubuntu, commit, push и все ОК. Кажется, это просто не будет работать с msysgit на Windows / NTFS.
источник