1

project次のセットアップがあります。サブモジュールを使用してプロジェクトに取り組んでいますsubmodule。変更を github にプッシュするたびに、サーバー上の update.php にポスト リクエストが送信されます。

この php ファイルは、git コマンドを実行します。サブモジュールがなければ、git pull を実行するだけで問題ありませんが、サブモジュールを使用すると、はるかに困難になります。

私は現時点でこれを持っていますが、それは私が望むことをしません。レポを git pull して、各サブモジュールの最新バージョンを更新およびプルする必要があります。

<?php echo `git submodule foreach 'git checkout master; git pull; 
git submodule update --init --recursive; git commit -m "updating"' && git pull && 
git submodule foreach 'git add -A .' 
&& git commit -m "updating to latest version including submodules" 2>&1s`;

編集// わかりました、途中までやりました。

<?php echo `git submodule foreach 'git checkout master; git pull; 
git submodule update --init --recursive; git commit -am "updating"; echo "updated"' && 
git pull &&  git commit -am "updating to latest version including submodules" && 
echo 'updated'`;

ゼロ以外が返されるため、エコーはスクリプトの停止を防ぎます。を使用してコンソールから実行すると、100% 正常に動作しphp update.phpます。

github がファイルを初期化したとき、またはブラウザーから実行したときに、まだ機能しません。

何か案は?

4

1 に答える 1

2
于 2012-10-07T23:18:43.833 に答える