6

私はgitを使用してサイトをデプロイするさまざまな方法を調べており、次のチュートリアルを見つけました。

http://42pixels.com/blog/quick-and-dirty-git-deployment

私はこのチュートリアルで提示されたアイデアが好きで、自分のサイトでそれを使用することに熱心ですが、サブモジュールをサポートしていないようです。

とにかく、これを変更して、サブモジュールも必要に応じてプルインおよび更新できるようにすることはできますか?

ありがとうございました。

アップデート

私はこの数時間この問題に取り組んできました、そして私は進歩しているようです、しかし私はまだそれを動かすことができません。

私はこのチュートリアルに切り替えました:http://toroid.org/ams/git-website-howto(これはほとんど同じですが、わずかな変更があります)、そしてここにあるいくつかのアドバイスに従った後:https:// stackoverflow .com / a / 6636509/1049688次のような受信後のファイルが作成されました:

#!/bin/sh

export GIT_WORK_TREE=/srv/www/limeblast.co.uk/htdocs_test
export GIT_DIR=/srv/www/limeblast.co.uk/.git
cd $GIT_WORK_TREE

git checkout -f master
git submodule init
git submodule update

これは理論的にはすべて問題ないようで、サブモジュールコマンドが実行されているように見えますが、次のエラーメッセージが返されます。

リモート:サブモジュール'wordpress'(git://github.com/WordPress/WordPress.git)がパス'wordpress'に登録されています リモート:サブモジュール' wp-content / themes / limeblastevolution / inc / cssCrush'(git://github。パス'wp-content/ themes / limeblastevolution / inc /cssCrush'に登録されたcom/peteboere / css-crush.git) リモート:致命的:作業ツリー'/srv/www/limeblast.co.uk/htdocs_test'は既に存在します。 リモート:サブモジュールパス「wordpress」への「git://github.com/WordPress/WordPress.git」のクローン作成に失敗しました

何か案は?ありがとうございました。

4

1 に答える 1

6

git-deployで成功するかもしれません。

しかし、それがRailsに集中しすぎている場合、または他の理由でRailsを使用できない、または使用しない場合は、コミット後のフックでサブモジュールの更新を強制する方法を次に示します:

git submodule init && git submodule sync && git submodule update

これはサーバー上で実行する必要があります。したがって、おそらくhooks/post-receiveスクリプトに追加するのが最善です。ちなみに単純なBASHかSHです。

于 2012-05-11T16:59:42.210 に答える