J'ai lu quelques questions concernant les autorisations de fichiers dans Git et je suis encore un peu confus. J'ai un dépôt sur GitHub dérivé d'un autre. Après la fusion, ils doivent être identiques. Toutefois:
$ 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
J'ai essayé de changer les autorisations de fichier, mais cela ne modifie pas les résultats de diff.
windows
git
diff
file-permissions
Synesso
la source
la source
core.filemode
définifalse
) ont réellement le bit d'exécution défini.--add
drapeau à l'exécution pour une raison:git update-index --add --chmod=+x <file>
. Après cela, le dossier était déjà en scène avec le chmodÀ partir d'une autre question ici sur stackoverflow: Comment faire pour que Git ignore les changements de mode de fichier (chmod)?
Essayer:
Depuis git-config (1) :
la source
hard
j'essayais de réinitialiser. Cela a fait l'affaire pour moi.One-liner pratique pour Git Bash:
Il marquera tous les
.sh
fichiers comme exécutables. Après cela, il vous suffit de le fairegit commit
.la source
Si vous utilisez Cygwin git (ou Linux git aussi, je suppose), il y a de fortes chances que votre paramètre core.filemode ait été défini au niveau du projet dans $ projdir / .git / config. J'ai trouvé que je devais faire ce qui suit pour que mon git Cygwin et mon git Windows coexistent bien sur un système de fichiers Windows sans que des changements de mode de fichier inexistants apparaissent tout le temps:
Cela permet à mon git Cygwin de continuer à voir les changements de mode de fichier, qui sont généralement pertinents, tout en demandant au git Windows d'ignorer les changements de mode de fichier qu'il voit, qui sont généralement des faux positifs.
la source
Vérifiez d'abord les autorisations de fichier à l'aide de la commande ci-dessous.
Puis modifiez les autorisations. Ici, «x» représente les autorisations d'exécution.
Maintenant, revérifiez les autorisations.
==============================================
si vous utilisez un PC Windows, mais que vous déployez sur une machine Linux. Exécutez la commande ci-dessous en premier lieu pour le rendre compatible pour fonctionner sur une machine Linux
dos2unix nom_script.ext nom_script.ext
la source
git update-index --chmod=1777 'scriptname.ext'
?Je l'ai corrigé en modifiant les autorisations de fichier dans Ubuntu, en validant, en poussant et tout est OK. Il semble que cela ne fonctionnerait tout simplement pas avec msysgit sous Windows / NTFS.
la source