6

私はgitにちょっと慣れていません。また、これは、展開プロセスを自動化する最初のプロジェクトです。これまでのところgit push dev、ファイルをアップロードしたり、構成ファイルをコピーしたりできるのは幸運でした。

ここで、開発サーバーにプッシュするときにJS/CSSファイルを縮小したいと思います。私は、サーバーにコマンドラインツールをインストールして、特定のフォルダーのjs / cssファイルを縮小し、圧縮して保存し、受信後のgitフックを使用することを考えていました。

これは良いアプローチですか?(圧縮ファイルをリポジトリに追加することや、他のアイデアについて読んだことがあるので、あまり確信が持てません)

もしそうなら、どのツールがそのタスクに最適ですか?

4

3 に答える 3

2

http://git-scm.com/book/ch7-2.html

サーバーでコミットを行うことは決してないと思います。つまり、サーバーは更新されたマスターをチェックアウトするためだけに使用され、更新されることはありません。このトリックは、チェックアウト時に*.cssファイルを自動的に縮小します。

# within repo
$ echo '*.css filter=minify' >> .git/info/attributes
$ git config filter.minify.clean  cat
$ git config filter.minify.smudge minify-command

minify-commandは、*。cssファイルを縮小するコマンドである必要があります。

$ cat foo.css | minify-command > foo-minified.css

それはあなたが望むものに近いですか?

于 2012-12-04T15:47:04.150 に答える
0

devでファイルを書き換え、ローカルリポジトリに縮小されたファイルがないようにすることで、2つのリポジトリは常に互いに同期しなくなります。

devにプッシュするのではなく、サイトをdevにデプロイする方法を再考したい場合があります。たとえば、prestineリポジトリからdevをプルしたい場合があります。

于 2012-12-04T03:25:10.337 に答える
0

チェックアウト後のフック(またはデプロイシステムによっては別のフック)を追加することを探している場合は、ファイルを縮小するスクリプトを使用して起動します。

フックを使用して、関連するファイルの変更日を確認してから実行することもできます。

于 2012-12-05T17:31:32.630 に答える