5

私は次のことを行う方法を見つけようとしています(そしてそれが可能かどうかも調べています)。

さまざまなことのために多数のフォルダーを含むローカル git リポジトリがありますが、git を使用して Web サイトを開発サーバーにデプロイできるようにしたいと考えており、実際には 1 つのフォルダーのコンテンツのみがリモート Web ルート (のコンテンツのみ) に移動する必要があります。フォルダー自体ではなく、フォルダー自体です。これは難しいことです)。開発サーバーへの git push を Web アクセス可能なフォルダーの外にあるベア リポジトリに移動し、受信後スクリプトを使用してすべての作業ファイルを webroot に配置しています。ただし、これによりすべてのフォルダーがコピーされ、明らかに、操作が完了した後に特定のフォルダーの内容のみを移動したいと考えています。

いくつかの調査を行うと、sparse-checkout が適しているようです。更新:特定のフォルダーのみをコピーする場所で動作していますが、フォルダー自体を無視してコンテンツをプルすることはまだできていません。これは、.git/info/sparse-checkout に追加するパス/ワイルドカードと関係があると思いますが、ディレクトリを除外するパターンが何であるかはわかりませんが、その内容は除外しません。

これを行う良い方法はありますか?スパース チェックアウトを使用して直接コピーするのではなく、受信後スクリプトを使用して必要なディレクトリの内容を手動でコピーする必要がありますか?

誰でも喜んで助けてくれることに感謝します。ありがとう!

4

1 に答える 1

0

より簡単なアプローチは次のとおりです。

  • a でスパース チェックアウトを実行します/tmp/YourRepo/Yourdirectory(YourDirectoryそのコンテンツのみが重要であるため、無視しようとしているものです)
  • のコンテンツを/tmp/Yourdirectory正しいターゲット ディレクトリに移動します
于 2012-08-09T06:27:22.290 に答える