データが裸の git リポジトリにプッシュされたときに、データを git-repo に自動的にプッシュするにはどうすればよいですか?
gitrepo - the name of my bare repo, I push to this repo from my desktop
sandbox - the name of a git repo, should automatically contain up-to-date data
gitrepo にプッシュするたびに、サンドボックス リポジトリに最新のデータが自動的に格納されます。
ベアリポジトリを使用せず、サンドボックスに直接プッシュすることを検討しました。ベア以外の git リポジトリにプッシュすることは不可能です。したがって、人々が推奨する解決策は、/etc/puppet/environments/sandbox/ でデータを利用できるようにする post-receive フックでした。
[root@puppet environments]# cat gitrepo/hooks/post-receive
#!/bin/sh
cd /etc/puppet/environments/sandbox/
git pull origin
[root@puppet environments]#
残念ながら、このフックも何もしません。http://bare-vs-nonbare.gitrecipes.de/で提供されている例 ( http://utsl.gen.nz/git/post-update )を見てきましたが、次のような単純なことはほとんど信じられません。リポジトリコミットを別のリポジトリに自動的にプッシュするには、86 行のコードが必要です。