2011-08-18 16 views
7

私はGitを初めて使う人です。大規模なリモートリポジトリを複製したいと思ってxyzcodebaseと言うことができます。レポの構造は、以下に示すようにさまざまな機能領域に対してsrcフォルダがあるようなものです。gitリポジトリを選択的にクローンする方法

xyzcodebase 
| 
|__ Func area 1 
| 
|__ Func area 2 

私は私の時間の多くを保存しますFunctional area 1(大サイズ)からコードをしたくないクローニングしながら、私はそれゆえFunctional area 2に取り組んでいます。クローン作成後、私のローカルリポジトリにはFunctional area 2のソースコードしかありません。

このようなgitリポジトリの選択的クローニングを行う方法はありますか?あなたの助け

+0

このスレッドを表示:https://stackoverflow.com/questions/600079/how-do-i-clone-a-subdirectory-only-of-a-git-repository – DoronG

答えて

5

を事前に

おかげではありません、1つのディレクトリだけのクローンを作成する方法はありません。 GitはSVNとしてサブツリーだけを格納するのではなく、リポジトリ全体の変更として履歴を保存します。

プロジェクトに複数の機能が含まれている場合は、異なるリポジトリを持ついくつかのサブプロジェクトに分割し、マスタープロジェクトのサブモジュールとして他のリポジトリを含める方がよいでしょう。しかし、あなたのプロジェクトがどのように組織化されているかによって異なります。

+0

返信いただきありがとうございます。クローンではない場合、空のgitリポジトリに1つのディレクトリのみを取得できますか? –

+0

@Venamまだ、あなたはする必要はありません。リポジトリ全体を取得したら、1つの領域または他の領域を取得することは、比較的小さな操作になります。 – meagar

+0

@Vaman本当に、不幸です。 'clone'は' git init、git remote add、git fetch'と言うだけのファンシーな方法ですので、リポジトリ全体が転送されるのを待たなければなりません。リポジトリの浅いコピー( '--depth' param)を取得できますが、完全な履歴がなければ、コミットしてリモートにプッシュすることはできません。デプロイやコードのレビューだけで良いのです。 – MBO

0

これは、特別な場合に問題を解決する可能性のあるハックな解決策です。 wget https://raw.githubusercontent.com/GITHUBUSER/REPOSITORY/master/file.ending

あなたはgithubの中にそれをナビゲートすることによって、特定のファイルのリンクを取得し、その後にクリックすることができます:あなたは、単にwgetを経由して(UNIXの場合)コンソールから、それをダウンロードすることができ、単一のファイルのみに関心がある。具体的場合"生"。

関連する問題