2016-06-21 5 views
0

私はgitlabでホストされているペリカンのサイトを構築しています。私はそのサイトにペリカンのテーマを使用したい。 (進行中のサイトは現在http://jerrya.gitlab.io/heuristkで見ることができます)私の(GitLab)ペリカンサイトの一部は、ペリカンのテーマです。私のプロジェクトにそのテーマをインストールするにはどうすればいいですか?

多くのペリカンのテーマは、巨大なペリカンのgitレポhttps://github.com/getpelican/pelican-themesのサブディレクトリのように見えます。この場合、私はzurb-F5-basicテーマを使いたいと思います。 https://github.com/getpelican/pelican-themes/tree/master/zurb-F5-basicしかし、私はすべてのpelicanテーマをインストールしたくありません。

私のようなものとして私のレポでそれをインストールしたいと思い

ヒューリスティック/コンテンツ/テーマ/ zurb-F5-基本

とのgitコマンドは、ヒューリスティック/コンテンツ/テーマ/ zurbで行っていますヒューリスティック/コンテンツ/ヒューリスティックで行われgitのコマンドは私のgitlabサイトリポジトリを参照しながら-F5-基本的にはペリカンテーマリポジトリ

を参照してください。

ように私は私のペリカンサイト内のペリカンテーマをインストールするにはどうすればよい:私は私のサイト

  • ためgitlabでgitのリモートリポジトリを維持することができる

    1. 私はペリカンテーマのgitからペリカンのテーマを更新することができますレポ
    2. そして、私はすべてのペリカンのテーマは、私が何を達成したいことは可能ではないと思い
  • 答えて

    1

    、ちょうどzurbをインストールしないようにしたいです。少なくとも正確にはそうではありません。

    Gitはあなたが何らかの形でリポジトリを切り捨てるできるようにする2つの特徴を有しています。

    まず、リポジトリの歴史のサイズに制限されていshallowクローンを行うことができます。

    第二に、そのsparse checkoutsと呼ばれるがあります。スパースチェックアウトは、基本的に、作業ディレクトリ内のリポジトリ内容の制限された表現です。私が理解しているように、これで、基本的には作業ディレクトリのどの部分をリポジトリに表示するかを選択します。 しかし、リポジトリ全体がバックグラウンドでまだ保持されています。

    私はsparse checkoutsがあなたの望む構造に近いものを達成したいと思えば、行く方法だと思います。唯一の違いは、間に一つのフォルダを持っているだろうということです。

    ヒューリスティック/コンテンツ/テーマ/ PT/zurb-F5-基本

    ここ

    ptペリカンテーマとしてリポジトリですサブモジュールをGitLabリポジトリに追加しますが、サブフォルダは「zurb-F5-basic」という1つのサブフォルダのみを提供するように設定されています。全体的に

    # create the submodule 
    $ git submodule add https://github.com/getpelican/pelican-themes heuristic/content/theme/pt 
    $ cd heuristic/content/theme/pt 
    # activate sparse checkouts 
    $ git config core.sparsecheckout true 
    # define which file(s) should be shown in the working directory 
    $ echo "zurb-F5-basic" >> ../../../../.git/modules/heuristic/content/theme/pt/info/sparse-checkout 
    # apply the "filter" 
    $ git read-tree -mu HEAD 
    $ ls 
    zurb-F5-basic 
    

    1. はい
    2. はい
    3. は、私が言う、インストールのあなたの定義に依存:なし
    +0

    おかげで、それは便利です。履歴全体またはプロジェクト全体をチェックアウトする際の私の問題は、gitlabのディスクスペースを無駄にすることです。 私がチェックアウトしていないファイルの履歴が必要な理由はわかりませんが、大丈夫です。 –

    +0

    **浅い**クローンを使用すると、プロジェクトの履歴全体をチェックアウトすることを避けることができます。深さ_n_を指定することによって、例えば。ローカルクローンを最後の_n_コミットに制限するプロジェクトをチェックアウトするときに '' --depth 1''を実行します。これは、実際にディスク領域を節約することを意味します。 リアリティチェック:ペリカンのテーマリポジトリの最後のコミットをチェックアウトするときだけ59MBと54MBのテストをしました。私はgitが約800件のコミットを圧縮するときにうまくやっていると思います。 しかし、浅いコピーではスペースを節約できます! – mhoff

    +0

    テーマリポジトリには多くのサブモジュールがたくさんあると付け加えたいと思います。あなたのテーマは例外です。サブモジュールによって実際に提供される別のテーマを選択する場合は、もちろん、ペリカンに対応するリポジトリを追加するだけで十分です。 – mhoff

    関連する問題