メモレベルです。きちんと学習されたいという方は下部の参考サイト様の閲覧をお勧めします。
参考にしていただければ幸いですが、参考にして不具合等が起きた場合、保障はできませんのであしからず。
間違い等あればご教授いただけると助かります。
git hooks
 ・gitの処理中に独自のシェルスクリプトを動かすことが出来る。
 ・処理のタイミングは複数用意されており、ほぼほぼ .git/hooks の中にサンプルが用意されている。
  処理タイミングについて詳しく説明されている mima_ita様の記事
やってみたこと
 Vagrantで作成した仮想環境内(Ubuntu)で、Gitプロジェクトを2か所に置き、開発用PRJとする片方でコミットorプッシュが行われたタイミングで
 もう片方の非開発用PRJで自動デプロイする。
処理
- 
ファイルを作成 
 vi ror_sample/.git/hooks/post-commit
 もともと.git/hooks内にサンプルファイルがpost-commit.sampleといった名前で保存されている場合もあるので
 そちらをリネームして使いまわしてもOK.
- 
処理を記述 
# !/bin/sh
logger "********************************************"
# ディレクトリへの移動(非開発用)
cd /home/hoge/ror_sample | logger "cd"
# 申し訳程度のフェッチ
git --git-dir=.git fetch| logger "fetch"
# プル
git --git-dir=.git pull origin master:master| logger "pull"
# 現在ローカル側での最新コミット情報
logger `git --git-dir=.git log --oneline -n 1 `
- 
実行権限がなければ付与 
 chmod +x post-receive
- 
ログ監視 
 tail -f /var/log/syslog
 結果、エラーは出ませんが非開発用のプロジェクトでプルされていませんでした。
 細かく pwd をログに吐き出すと、移動していない!!そういうものなの?
 LinuxもGitも初心者なので原因特定には至っていませんが、
 開発用PRJの位置でシェル内のコマンドは実行されていたようでした。
 同じようなコードを非開発用のプロジェクトのpost-receiveに書いたりもしてみましたが、そもそも動かず。
 業務で困ったわけではないので構わないのですが、ひとまずシェルを動かすことは成功したというところで(妥協)
 まぁ、非開発用PRJをgitで管理せずに、post-commitを使用して開発用PRJでコミットする度に
 「git archiveとgit diffを使って差分ファイルを圧縮。非開発用PRJへ移動し解凍」
 とかでもできることはできるか。
使い方は無限大ですね。(失敗しましたが…
