gh-pages
コミットするときはいつでも、コミットハッシュとコミットメッセージの最初の数文字をブランチ内のファイルに自動的に挿入したいと思いますmaster
。
現在このpost-commit
フックを使用しています:
#!/bin/bash
#Ensures we are in master branch
[ `git rev-parse --abbrev-ref HEAD` != "master" ] && exit 1
git checkout gh-pages
git merge master
# update the js file with commit identification information from git
# I can't seem to get this to work without generating a *_bak file. Whatever.
# I have a section in my source that has delimiters #% %# that I use to stuff the
# git commit into, so I can view the version of source I am testing on my device
# very easily (you can't imagine how much more definite and efficient this is compared
# to what we do at my work)
sed -i _bak "s/#%.*%#/#% `git log master -1 --format="%h %s"` %#/" source.js
git commit -a -m"this commit made by a script"
git checkout master
これをフックに変換することcommit-msg
で、生成される余分なコミットの量を減らすことができるとは思えません(2つはマスターをgh-pagesにマージし、もう1つはマスターコミットに使用したcommit-msgをファイルに書き込みます)でコミットを実行するときはいつでもmaster
、少なくともcommit -n
forを実行することで簡単にスキップできます--no-verify
が、post-commit
フックを使用すると、フックファイルのexecフラグを設定解除して、一時的に無効にする必要があります。
これは機能しますか?私はそれを試してみるべきだと思います。しかし、Gitは何をしますか?私のbashスクリプトが戻り値0を発行する限り、コミットの実行に進みますか?