2012-03-17 11 views
0

にレポブランチからは、私のファイル構造は通常、私DOCUMENT_ROOT以下のリポジトリのフォルダを持っている...だから私はgitのを使用し始めていると私は特定のブランチを展開するスクリプトを作成したいのgit

をサイトを展開しますだから... ...

私は今、約4日間のgitとすべてのものを使用してきた点に注意してください。..

を特定のサイトのレポのが位置しています...そして私はそこにもpublic_htmlのフォルダを持っています私は私の命令が次のようなものになると考えている:

git deploy <branch> <location to deploy to>

答えて

1

git archiveコマンドを参照してください。例えば

~/site1-repo $ git archive master | tar -xC /path/to/site1/public_html 

はSITE1のpublic_htmlのフォルダに、~/site1-repoでレポのマスターブランチの内容をエクスポートします。

+0

いいアイデア..前にこのコマンドを見たことがありません。指定したブランチからドキュメントルートにファイルをコピーするのではなく、ブランチのアーカイブ(この場合はtar)を作成しますか? – Justin

+0

'git archive'はデフォルトでtar形式のストリームを作成します。なぜそれがストリームを抽出する' tar -x'にパイプされているのですか(そして '-C 'はそれをどこに抽出するかを指示します)。 – Amber

+0

( 'gitのアーカイブ |タール-Xc 'パターンは非常に、非常に一般的なものである。) – Amber

-1

展開はgitのクローン自体

git clone master:/path/to/repo 

を対象としてください今すぐあなただけ更新する

git pull 

を必要としています。追加の「ロジック」(クリーニングキャッシュなど)が必要な場合は、対応する.git/hooks/post-mergeスクリプトを作成することができます

+1

'.git'ディレクトリをドキュメントルートに置くことは悪い考えです。 'git archive'はこの種の仕事のために設計されました。 – Amber

+0

@Amber愚かではない。私は決して "ドキュメントルート"とは言いませんでした。これは明らかに悪い考えです。 – KingCrunch

関連する問題