記事から、「ハブ」と呼ばれる 1 つのメインのベア リポジトリがあります。'prime' リポジトリとコンピュータ上のリポジトリは、'hub' のクローンです。
あなたの状況では、2 つの「プライム」リポジトリがあります。1 つはステージング領域 (「prime-staging」) で、もう 1 つはプロダクション領域 (「prime-production」) です。
この記事で説明されているフックと、ここで説明されているフック(プッシュされたブランチに応じて特定のアクションを実行するフック) を組み合わせて使用すると、「prime-staging」または「prime-production」リポジトリが更新されます。
「ハブ リポジトリには、master
(またはstaging
) ステージング サイトにproduction
関連付けられたブランチと、運用サイトに関連付けられたブランチの 2 つが必要です。ですべての作業を行いmaster
、これらの変更を「ハブ」にプッシュして、git フックがステージング リポジトリを更新できるようにします。ライブ環境でこれらの変更を確認し、必要な変更を加えmaster
て「ハブ」に再度プッシュします。ステージング サイトに問題がなければ、次のようにします。
git checkout production
git reset --hard master
git push origin production
これで、git フックは運用ブランチが更新されたことを確認し、それに応じて運用サイトを更新します。(注:ハブが単なる命名法であると仮定すると、プライマリ リポジトリを呼び出すのが標準ですorigin
)
したがって、サーバーで想像するセットアップは次のとおりです。
mkdir -p /path/to/site.git
cd /path/to/site.git #// hub
git init --bare
cd /var/www/vhosts
git clone /path/to/site.git site.com #// prime-production
git clone /path/to/site.git staging.site.com #// prime-staging
フックを に配置しsite.git
ます。staging
ブランチが更新されたら、に変更し/var/www/vhosts/staging.site.com
て実行しgit pull
ます。production
のブランチが更新されたときにも同じことを行い/var/www/vhosts/site.com
ます。