Tout comme une réponse additionnelle, voici la fonction que vous pouvez utiliser pour initialiser un dépôt Git, qui rend automatiquement les crochets exécutables ; vous devriez le mettre dans .bashrc
ou un fichier que vous sourcez lorsque vous démarrez votre terminal. L'histoire est ci-dessous :)
ginit () {
git init
gitpath=`git rev-parse --show-superproject-working-tree --show-toplevel | head -1`
chmod u+x "$gitpath"/.git/hooks/*
for submodule in "$gitpath"/.git/modules/*; do
chmod u+x "$submodule"/hooks/*
done
}
J'étais ennuyé par la même chose que vous. Je ne veux pas me souvenir que je dois rendre tous les crochets exécutables chaque fois que j'initialise un dépôt. De plus, lorsque vous utilisez les sous-modules, leurs crochets ne sont pas dans .git/hooks
, mais dans .git/modules/NomDuSousModule/hooks
, et ceux-ci devraient également être rendus exécutables.