Mise à jour et validation uniquement les autorisations d'un fichier à l'aide de contrôle de version git
Juste d'avoir un some.sh
fichier dans un fichier exécutable (chmod 755 ...
), les autorisations ont été mis à jour mais pas le contenu. Est-il un moyen de commettre le fichier dans le dépôt git, de sorte que le bit d'exécution sera restauré/set sur clone /caisse /pull ?
Mise à jour: comment puis-je suivre que les nouvelles autorisations ont été soumis à github
?
Vous devez vous connecter pour publier un commentaire.
Par défaut, git va exécuter la mise à jour des autorisations de fichiers si vous les modifiez. Il ne sera pas changer de piste ou toutes les autres autorisations.
Si vous ne voyez pas toutes les modifications lors de la modification d'autorisation d'exécution, vous avez probablement une configuration de git qui ignorent mode de fichier.
Regarder dans votre projet, dans le
.git
dossier pour leconfig
fichier et vous devriez voir quelque chose comme ceci:Que vous pouvez modifier à
true
dans votre éditeur de texte préféré, ou à exécuter:Ensuite, vous devriez être en mesure de s'engager normalement vos fichiers. Il n'engagent que les modifications d'autorisations.
github
?@fooMonster article a fonctionné pour moi
Comme vous pouvez le voir le fichier a 644 autorisation (en ignorant les 100). Nous aimerions changer à 755:
valider les modifications
git commit -a
n'ai rien fait pour moi, cependant définition de message sur la ligne de commande n'. Peu de capricePas de travail pour moi.
La mode est true, le fichier permanentes ont été modifiés, mais git dit il n'y a pas de travail à faire.
Le problème semble être que git ne reconnaît que certaines modifications d'autorisations.
git
vraiment que des pistes de savoir si un fichier est exécutable ou non, pas le jeu complet de *nix autorisations. Donc, vous auriez à passer d'un fichier exécutable/pas pour elle de penser que vous avez changé quelque chose de la peine de commettre...post-checkout
crochet dansgit
, ce qui permettrait de couvrir certains cas, mais je ne suis pas sûr que ça couvrirait toutes les choses que les fichiers de mise à jour dans votre worktree. Vous pourriez être mieux de simplement un script shell dans votre pension qui met les choses en conséquence. Sinon, il y a quelques projets qui augmententgit
pour stocker les métadonnées, mais je n'ai jamais vraiment essayé l'un d'eux...etckeeper
que les enregistrements de l'ensemble des autorisations et la propriété ...git update-index --refresh
, mais la diff montreold mode 100644 new mode 100755
. Il n'a pas de mise à jour de toutes les autorisations