プロジェクトによっては、そう安々と変更してほしくないファイルが有ったりします。 そこで、特定のファイルの変更をコミット出来なくするGitフックの紹介です。 例えば、.htaccessとlibディレクトリ配下の全てのファイルの変更を禁止するには以下の様なpre-commitフックを作成します。 .git/hooks/pre-commit #!/bin/sh unchangeable_files=( ^\\.htaccess$ ^lib/.* ) containsElement () { local e for e in "${@:2}"; do [[ "$1" =~ $e ]] && return 0; done return 1 } for FILE in `git diff --cached --name-status $against -- | cut -c3-`; do if con