1

変更の履歴を作成するために、展開されたjavascriptファイルをリポジトリに保持したいのですが、縮小されたファイル(.min.jsで終わる)だけをデプロイします。デプロイするときに.src.jsで終わるすべてを無視して、これらのファイルをコミットしたままにする方法はありますか?

私のポストレシーブ:

#!/bin/sh
GIT_WORK_TREE=/var/www/html/mywebsite/ git checkout -f

gitにそれを行う方法がない場合は、「gitcheckout-f」の後にファイルを削除するためにpost-receiveにrmコマンドを追加することを考えました。そんな感じ

GIT_WORK_TREE blah blah blah ... git checkout -f && find /var/www/html/mywebsite/assets/js/ -type f -name "*.src.js" -exec rm -f {} \;
4

1 に答える 1

1

私は通常、このようなものにrsyncを使用して、デプロイされるものに.gitディレクトリが含まれないようにします。--exclude = PATTERNを使用して、.src.jsファイルを無視できます。

rsync --delete -l -r --exclude="。git"--exclude="*。min.js"--exclude= "tmp" sourceDir destDir

sourceDirまたはdestDirはsshホストにすることもできます。これをgitフックの代わりに手動で実行するスクリプトに入れて、変更がいつ公開されるかを制御できるようにすることをお勧めします。(私は通常、Jenkinsでこのようなスクリプトを実行します。)

于 2012-11-15T17:55:40.160 に答える