git がインストールされる場所は、Local、Bare、Development の 3 つです。
Local から Bare にプッシュし、post-receive フックが開発ブランチを Bare から Development にプッシュします。コミットは git ログに問題なく表示されますが、Development が現在受信しているブランチにある場合は、ステージングされ、コミットする準備ができているファイルの変更されたリストを取得します。
ステージングされたファイルは実際には古いコード (コミット前) であり、新しくプッシュされたコードを表示するには、すべてを git stash する必要があります。私が達成しようとしているのは、コードが Local から Bare にプッシュされると、自動的に Development サーバーで表示できるようになり、Development を直接操作する必要がないことです。
例 -- ローカルで:
「dev」ブランチの autoload.php を変更して、新しい php 5.4 配列を使用します
$autoload = []; // instead of $autoload = array();
ベア リポジトリにプッシュする
git push
Post-receive は正しく起動し、コードを Bare の 'dev' ブランチから Development の 'dev' ブランチに移動します。
開発で git status を実行すると、次のようになります。
modified: application/config/autoload.php
autoload.php にはまだ古いコードが表示されます。
$autoload = array();
新しいコードが表示されるのは、git stash を実行した後でのみです。