git/svn

$ git clone https://github.com/libgit2/libgit2
これは、まず`‘libgit2’というディレクトリを作成してその中で .git ディレクトリを初期化し、リポジトリのすべてのデータを引き出し、そして最新バージョンの作業コピーをチェックアウトします。 新しくできた libgit2 ディレクトリに入ると、プロジェクトのファイルをごらんいただけます。 もし``libgit2'ではない別の名前のディレクトリにクローンしたいのなら、コマンドラインオプションでディレクトリ名を指定します。

$ git clone https://github.com/libgit2/libgit2 mylibgit
このコマンドは先ほどと同じ処理をしますが、ディレクトリ名は mylibgit となります。

Git では、さまざまな転送プロトコルを使用することができます。先ほどの例では https:// プロトコルを使用しましたが、git:// や user@server:/path/to/repo.git といった形式を使うこともできます。これらは SSH プロトコルを使用します。サーバー用の Git の取得で、サーバー側で準備できるすべてのアクセス方式についての利点と欠点を説明します。



もう既にあるリポジトリ領域からチェックアウトする
リポジトリから、自分のローカルストレージにワーキングコピーを作ることを「チェックアウト」するという。仮に、以下のロケーションにソースが用意されているとすると

svn://192.168.1.2/repo/thread/trunk
このソースをチェックアウトするコマンドは以下のようになる

$ svn co svn://192.168.1.2/repo/thread/trunk thread
svnコマンドの各引数について簡単に説明する。第二引数の”co”は”checkout”の略であり、もちろん、略さず

$ svn checkout svn://192.168.1.2/repo/thread/trunk thread
でも同様の操作を行えるが、毎回、checkoutと打ち込むのも面倒なので、大抵の場合は”co”という省略形に落ち着く。

第三引数の”svn://192.168.1.2/repo/thread/trunk”はリポジトリのアドレス、第四引数の”thread”はチェックアウトするときのディレクトリ名である。

第四引数は省略可能だが、そうすると、リポジトリのアドレスの最後のbasename(この場合は”trunk”)がディレクトリ名となってしまい、見分けがつかない。というのは、trunkというのが、svnのソースが格納されるルートディレクトリの慣習的な名前になっており、大抵のプロジェクトのルートディレクトリはtrunkという名前であるからである。そのため、通常のチェックアウトでは、第四引数でディレクトリ名を指定してチェックアウトすることになる。

お気づきかもしれないが、第四引数で指定されるディレクトリ名は、trunkの一つ前のディレクトリ名が使われることが多い。これは偶然でなく、subversionでは、各プロジェクトの下にtrunk, tags, branchesという3つのディレクトリを作って、ソース管理するのが慣習になっているためである。

コマンドが成功するとthreadというワーキングコピーが、コマンドを実行したディレクトリに作成される。このワーキングコピーを使って、今後、ソースを管理していく。

この記事が気に入ったらサポートをしてみませんか?